Как получить адрес электронной почты организатора встречи - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь автоматизировать отправку электронной почты и скопировать организатор собрания с помощью макроса Outlook VBA.

Моя компания использует Office 365.

Я нашел элемент item. GetOrganizer, чтобы получить имя организатора, но не могу найти способ получить адрес электронной почты организатора.

Это доступно?И если так, где я могу найти это?Спасибо.

1 Ответ

0 голосов
/ 27 сентября 2019

Пример

Option Explicit
Private Function GetMeetingOrganizer( _
                ByVal appt As Outlook.AppointmentItem) As Outlook.AddressEntry

    If appt Is Nothing Then Exit Function

    Dim PR_SENT_REPRESENTING_ENTRYID As String
        PR_SENT_REPRESENTING_ENTRYID = _
                    "http://schemas.microsoft.com/mapi/proptag/0x00410102"

    Dim organizerEntryID As String
        organizerEntryID = _
                   appt.PropertyAccessor.BinaryToString( _
                   appt.PropertyAccessor.GetProperty(PR_SENT_REPRESENTING_ENTRYID))

    Dim organizer As Outlook.AddressEntry
    Set organizer = Application.Session.GetAddressEntryFromID(organizerEntryID)

    If organizer Is Nothing Then
        Debug.Print "No organizer" ' Print on Immediate Window
    Else
        Debug.Print organizer ' Print on Immediate Window
        Dim Email_Address As String
        If organizer.Type = "SMTP" Then
            Email_Address = organizer.Address
        Else
            If organizer.Type = "EX" Then
                Email_Address = organizer.GetExchangeUser.PrimarySmtpAddress
            End If
        End If

        Debug.Print Email_Address ' Print on Immediate Window

    End If
End Function


Private Sub Example()
    Dim Item As Object

    Set Item = ActiveExplorer.Selection.Item(1)

    Debug.Print TypeName(Item)
    GetMeetingOrganizer Item

End Sub
...