Условие проверить получателей и переслать сообщение - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь написать условие, и в зависимости от того, у какого получателя есть электронное письмо, оно пересылается на другое электронное письмо. После поиска в сети я нашел следующее, но это не работает для меня:

Public Sub ConvertMeetingToEmail(ActiveFolder, Inbox As String)

    Dim myNamespace As Outlook.NameSpace
    Dim myFolder As Outlook.Folder
    Dim Subfolder As Outlook.Folder

    Dim Item As Object
    Dim myMtg As Outlook.MeetingItem

    Dim objMsg As MailItem
    Set objMsg = Application.CreateItem(olMailItem)

    Set myNamespace = Application.GetNamespace("MAPI")
    Set myFolder = myNamespace.Folders(ActiveFolder)
    Set Folders = myFolder.Folders
    Set Subfolder = Folders.Item(Inbox)

    For Each Item In Subfolder.Items

        If Item.MessageClass = "IPM.Schedule.Meeting.Request" Then
            Set Msg = Item
            Set recips = Msg.Recipients
            For Each recip In recips
                If (recip = "example@mail.domail" _
                    Or recip = "example1@mail.domail" _
                    Or recip = "example2@mail.domail" _
                    Or recip = "example3@mail.domail" _
                    Or recip = "example4@mail.domail") Then

                        objMsg.To = "example6@mail.domail"
                        objMsg.CC = recip
                        objMsg.Subject = Msg.Subject
                        objMsg.Body = Msg.Body
                        objMsg.Send
                Endif
            Next
        End If

    Next

End Sub

1 Ответ

0 голосов
/ 08 мая 2018

Коллекция получателей возвращает объекты получателей, а не строки, поэтому ваш код должен проверять свойство recip.Address. Также рекомендуется использовать сравнение строк без учета регистра:

 If ((StrComp(recip.Address, "example@mail.domail", 1) = 0) _
...
...