问题描述
第一次海报!我试图从 Outlook 的全局地址列表中的条目中提取电子邮件地址,以便在我的 VBA 代码中引用。我需要输入一个项目代码,因此代码需要查看 gal 并找到在名称中找到项目代码的条目。当它发现这一点时,我需要它返回关联的电子邮件地址 (PrimarySMTPAddress)。如果不是,我需要它说“找不到项目代码”。
我对 VBA 很陌生,所以我不能把这个想法写进代码中。任何帮助表示赞赏。
谢谢。
解决方法
使用创建 Namespace
对象的 Recipient
类的 CreateRecipient 方法。此方法最常用于创建与 Recipient
方法一起使用的 GetSharedDefaultFolder
对象,例如,打开委托人的文件夹。它还可用于根据地址簿验证给定名称。
Sub ResolveName()
Dim myNamespace As Outlook.NameSpace
Dim myRecipient As Outlook.Recipient
Dim CalendarFolder As Outlook.Folder
Set myNamespace = Application.GetNamespace("MAPI")
Set myRecipient = myNamespace.CreateRecipient("Project Name 0001")
myRecipient.Resolve
If myRecipient.Resolved Then
Call ShowCalendar(myNamespace,myRecipient)
End If
End Sub
Sub ShowCalendar(myNamespace,myRecipient)
Dim CalendarFolder As Folder
Set CalendarFolder = myNamespace.GetSharedDefaultFolder(myRecipient,olFolderCalendar)
CalendarFolder.Display
End Sub