Преобразуйте встречу в общую электронную почту и отправьте - PullRequest
0 голосов
/ 07 мая 2018

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

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
            'Convert Appointment to Email and Forward message
            'Its Sudo-code and not working
            objMsg.To = "example@emp.com"
            objMsg.Subject = Item.Subject
            objMsg.Body = Item.Body
            objMsg.Send
        End If

    Next

End Sub

Этот макрос будет выполнен в MS-Outlook.

Важно, чтобы скопировать существующий основной текст из Встречи, а также из Темы и отправить на другое электронное письмо.

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

UPDATE

Я добавил только одну строку кода и все работает:

Set myMtg = Item

objMsg.To = "example@emp.com"
objMsg.Subject = myMtg.Subject
objMsg.Body = myMtg.Body
objMsg.Send

1 Ответ

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

Если вы хотите отправить существующий элемент собрания как обычное электронное письмо, вам необходимо сначала установить для свойства MessageClass значение IPM.Note. Свойство MessageClass связывает элемент с формой, на которой он основан. Когда элемент выбран, Outlook использует класс сообщения, чтобы найти форму и предоставить ее свойства, такие как Reply команды. Затем вы можете привести объект к классу MailItem и вызвать метод Send (конечно, после указания получателей).

На противоположной стороне метод Forward класса MeetingItem выполняет действие Forward для элемента и возвращает полученную копию в виде объекта MeetingItem. Таким образом, в основном возвращается новый MeetingItem объект, представляющий новый элемент собрания, который можно отправить.

...