Wenn Sie die Kontaktkarte von Outlook in Outlook anzeigen, gibt es ein Feld für Office, das ihren Standort angibt. Wie kann ich das mit VBA finden? Hier ist mein funktionellste Code:Exchange-Benutzer OfficeLocation in VBA finden
Private Function getLocation(username As String) As String
Dim olApp As Outlook.Application
Dim olNS As Outlook.Namespace
Dim olGAL As Outlook.AddressEntries
Dim olAddressEntry As Outlook.AddressEntry
Dim olUser As Outlook.ExchangeUser
Set olApp = New Outlook.Application
Set olNS = olApp.GetNamespace("MAPI")
Set olGAL = olNS.AddressLists("Global Address List").AddressEntries
Set olAddressEntry = olGAL.Item(username)
Set olUser = olAddressEntry.GetExchangeUser
Debug.Print olGAL.Count 'count is 646718
Debug.Print olUser.OfficeLocation
Debug.Print olUser.Address
Debug.Print olUser.Name
getLocation = olUser.OfficeLocation
Set olApp = Nothing
Set olNS = Nothing
Set olGAL = Nothing
Set olAddressEntry = Nothing
Set olUser = Nothing
End Function
Dies funktioniert, wenn ich für ihre tatsächlichen Namen zu suchen (EG, John Smith), aber es gibt nur den ersten John Smith. Wie kann ich mit ihrer E-Mail-Adresse oder ihrem Alias suchen?
Hinweis: Ich habe einen Verweis auf die Microsoft Outlook 16.0 Object Library
hinzugefügt, um Intellisense zu nutzen, aber ich plane, zu später Bindung zu wechseln, sobald es funktioniert.