2017-10-10 1 views
0

ich den Austausch Online-Adressen von Nutzern erhalten, aber ich möchte konvertieren oder irgendwie die SMTP-Adresse von ihnen.VBA - Convert Exchange Online E-Mail-Adresse als SMTP-Adresse

Ich bin nicht sicher, wie die SMTP-Adresse von Email1Address zu bekommen.

Set objOL = CreateObject("Outlook.Application") 
Set objNS = objOL.GetNamespace("MAPI") 
Set objContactsFolder = objNS.GetDefaultFolder(olFolderContacts) 
Set objItems = objContactsFolder.Items 

For Each obj In objItems 
    'Test for contact and not distribution list 
    If obj.Class = olContact Then 
     Set objContact = obj 

     With objContact 

     If .Email1Address <>"" Then 
     'I want to add the SMTP-Address after the .LastNameAndFirstName of a User 
      strFileAs = .LastNameAndFirstName 

     .Email1DisplayName= strFileAs 

     .Save 
     End If 
     End With 
    End If 

    Err.Clear 
Next 
+0

was ist der Code, den Sie versucht haben und was nicht funktioniert hat? – QHarr

+0

Suche nach 'ResolveDisplayNameToSMTP' - der Code, nach dem du suchst, ist von Sue Mosher. –

+0

Siehe [HowTo: Konvertieren von Exchange-basierter E-Mail-Adresse in SMTP-E-Mail-Adresse] (https://www.add-in-express.com/creating-addins-blog/2009/05/08/outlook-exchange-email-address -smtp /). –

Antwort

0

ich verwendet, um dieses für die E-Mail-Objekt finden Sie, wenn Sie es umsetzen können:

dim email as string 
If myItem.SenderEmailType = "EX" Then 
email = myItem.Sender.GetExchangeUser.PrimarySmtpAddress 
Else 
email = myItem.SenderEmailAdress 
End If 
Verwandte Themen