共用方式為


將顯示名稱對應至Email位址

本主題示範 Visual Basic for Applications (VBA) 中的程式碼範例,該範例會採用顯示名稱,並嘗試將它對應至目前會話中訊息系統已知的電子郵件地址。

傳輸提供者會針對每個 Outlook 工作階段定義一組通訊錄容器,郵件傳送系統可將郵件傳遞至此容器。 每個通訊錄容器都會對應至 Outlook 中的一份通訊清單。 如果在通訊錄容器集合中定義了顯示名稱,則顯示名稱可以在目前的會話中解析,而且通訊清單中有一個專案對應至此顯示名稱。 請注意,通訊清單中的專案可以是各種類型,包括 Exchange 使用者和 Exchange 通訊群組清單。

在此程式碼範例中,函 ResolveDisplayNameToSMTP 式會使用顯示名稱 「Dan Wilson」 作為範例。 它會先嘗試根據此顯示名稱建立 Recipient 物件,然後呼叫 Recipient.Resolve,以確認顯示名稱已定義在通訊清單中。 如果名稱已解析,則 ResolveDisplayNameToSMTP 會使用對應至Recipient物件的AddressEntry物件進一步取得類型,並盡可能使用電子郵件地址:

Sub ResolveDisplayNameToSMTP() 
 Dim oRecip As Outlook.Recipient 
 Dim oEU As Outlook.ExchangeUser 
 Dim oEDL As Outlook.ExchangeDistributionList 
 
 Set oRecip = Application.Session.CreateRecipient("Dan Wilson") 
 oRecip.Resolve 
 If oRecip.Resolved Then 
 Select Case oRecip.AddressEntry.AddressEntryUserType 
 Case OlAddressEntryUserType.olExchangeUserAddressEntry 
 Set oEU = oRecip.AddressEntry.GetExchangeUser 
 If Not (oEU Is Nothing) Then 
 Debug.Print oEU.PrimarySmtpAddress 
 End If 
 Case OlAddressEntryUserType.olExchangeDistributionListAddressEntry 
 Set oEDL = oRecip.AddressEntry.GetExchangeDistributionList 
 If Not (oEDL Is Nothing) Then 
 Debug.Print oEDL.PrimarySmtpAddress 
 End If 
 End Select 
 End If 
End Sub

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應