使用VBA从Outlook联系人获取管理器
下面的代码从Outlook检索全局地址列表,然后创建一个包含名称和部门的数组 我想获取用户管理器-但我在属性列表中找不到它,使用VBA从Outlook联系人获取管理器,vba,outlook,mapi,Vba,Outlook,Mapi,下面的代码从Outlook检索全局地址列表,然后创建一个包含名称和部门的数组 我想获取用户管理器-但我在属性列表中找不到它,oUser.GetExchangeUserManager不起作用 Dim appOL As Outlook.Application ' Object Dim oGAL As Outlook.AddressEntries ' .NameSpace Object Dim oContact As Outlook.AddressEntry ' Object
oUser.GetExchangeUserManager
不起作用
Dim appOL As Outlook.Application ' Object
Dim oGAL As Outlook.AddressEntries ' .NameSpace Object
Dim oContact As Outlook.AddressEntry ' Object
Dim oUser As ExchangeUser ' Object
Dim arrUsers(1 To 65000, 1 To 4) As String
Dim UserIndex As Long
Dim i As Long
Set appOL = New Outlook.Application ' CreateObject("Outlook.Application")
Set oGAL = appOL.GetNameSpace("MAPI").AddressLists("Global Address List").AddressEntries
For i = 1 To oGAL.Count
Set oContact = oGAL.Item(i)
If oContact.AddressEntryUserType = 0 Then
Set oUser = oContact.GetExchangeUser
If Len(oUser.lastname) > 0 Then
UserIndex = UserIndex + 1
arrUsers(UserIndex, 1) = oUser.Name
arrUsers(UserIndex, 2) = oUser.Department
arrUsers(UserIndex, 3) = oUser.JobTitle ' Blank
'arrUsers(UserIndex, 4) = oUser.GetExchangeUserManager ' ERROR
End If
End If
Next i
appOL.Quit
If UserIndex > 0 Then
Range("A2").Resize(UserIndex, UBound(arrUsers, 2)).Value = arrUsers
End If
Set appOL = Nothing
Set oGAL = Nothing
Set oContact = Nothing
Set oUser = Nothing
Erase arrUsers
End Sub
关于如何获取经理信息有什么想法吗?使用
AddressEntry.manager
-它将返回另一个代表经理的AddressEntry
对象。准备好处理Null
s.谢谢,但是在上面的代码中,我在oContact
对象变量中使用了AddressEntry
。当我在oContact后放置句点或句点以查看成员列表时,membersAddressEntry列表中没有Manager项。Manager早在Outlook 2000时就已公开(我没有检查以前的版本)。如果该属性是隐藏的,Intellisense将不会显示它。试着在你的代码中键入它,并使用它。