[英]VBA CODE to Verify Email Address Found in Outlook Global Address List
[英]Can I reach Global Address List language independently?
langCode=Application.LanguageSettings.LanguageID(msoLanguageIDUI) Select Case langCode Case &H409 galStr="Global Address List" Case &H40E galStr="Globális címlista" Case &H407 galStr="Globale Addressliste" Case Else galStr="Global Address List" End Select Set olApp=GetObject(,"Outlook.Application") Set olGAL=olApp.GetNamespace("MAPI"). AddressLists(galStr)
非常感謝您的幫助。
對於用戶語言和編程語言的獨立性,有枚舉。
您可以遍歷所有地址列表並通過以下方式獲取 GAL,而不是嘗試找到正確的本地化字符串:
If(addrList.AddressListType ==
Outlook.OlAddressListType.olExchangeGlobalAddressList) Then
' this is GAL
End If
您可以使用創建Recipient
對象的NameSpace.CreateRecipient函數。 根據地址簿解析收件人后,您可能會獲得電子郵件地址。
我還發現了以下文章 - 獲取全球地址列表或一組您可能會發現有用的商店地址列表。
使用Namespace.
GetGlobalAddressList - 它將返回配置文件中主要 Exchange 帳戶的 GAL。
至於AddrList.AddressListType
屬性,它將僅為主要 Exchange 帳戶的 GAL 返回olExchangeGlobalAddressList
。 對於輔助帳戶,它將是一個通用的olExchangeContainer
。
如果您在配置文件中有多個 Exchange 帳戶,則可以通過使用AddressList.PropertyAccessor
讀取兩個 MAPI 屬性來確定特定地址列表是否為 GAL: PR_AB_PROVIDER_ID
必須為"DCA740C8C042101AB4B908002B2FE182"
且PR_DISPLAY_TYPE
必須為DT_GLOBAL
( 0x00020000
)。
如果使用Redemption (我是它的作者)是一種選擇,除了公開RDOSession
。 地址簿。 GAL
(類似於 OOM 中的Namespace.GetGlobalAddressList
),它還公開了 RDOExchangeAccount 。 帳戶級別的GAL
屬性( AllRooms
屬性也公開)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.