我正在使用以下代码打开全局地址列表窗口以在列表中选择一个联系人。从Outlook地址列表中获取管理器信息vba
对于选定的联系人,我也想获取经理姓名。但是,我似乎无法让它工作。
有什么建议吗?
Private Sub accountManagerName_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim CDOSession, cdoAddressBook, olkRecipients, objAE
On Error Resume Next
Set CDOSession = CreateObject("MAPI.Session")
' Change the name of your Outlook profile as needed.
CDOSession.Logon "", "", False, False
Set olkRecipients = CDOSession.AddressBook(, "Global Address List", 0, False)
For Each objAE In olkRecipients
accountManagerName.Text = objAE.name
'ccManager.Caption = objAE.Manager.name
Next
Set olkRecipients = Nothing
CDOSession.Logoff
Set CDOSession = Nothing
End Sub
'ContactItem'对象中有'ManagerName'属性。这是你在找什么? – 2013-03-20 19:43:13
这是在交换服务器上,我没有任何联系信息在本地托管......这仍然有效吗?我将如何实施你的例子? (code) – maxgohan 2013-03-20 20:02:01
代码中objAE的对象类型是什么?运行'Debug.Print TypeName(objAE)'来找到它。如果它是一个ContactItem,那么你只需要使用objAE.ManagerName属性来获取管理者的名字。 – 2013-03-20 20:32:15