Outlook中AddressEntry.GetExchangeUser方法与属性相关文档咨询
关于ExchangeUser对象属性及相关问题解答
1. 基础说明
你提到的AddressEntry.GetExchangeUser是Outlook对象模型中的标准方法,返回对应收件人的ExchangeUser对象,相关属性均有官方定义。
2. 常用可用属性列表
你询问的Division属性确实存在,以下是该对象常用的公开属性:
- 基础身份属性
Name:用户全名/显示名Alias:Exchange账号别名PrimarySmtpAddress:主邮箱地址MobileTelephoneNumber:手机号码BusinessTelephoneNumber:办公电话
- 组织属性
JobTitle:职位Department:所属部门Division:所属事业部/业务线(即你询问的属性)CompanyName:所属公司OfficeLocation:办公地点City/StateOrProvince/Country:办公所在地信息
- 层级关系属性/方法
GetExchangeUserManager():返回用户直属上级的ExchangeUser对象,可继续调用上述所有属性GetDirectReports():返回用户直属下属的AddressEntries集合
3. 打印全部支持属性的方法
你可以通过类型库反射的方式遍历该对象的所有属性,以下是适配你给出的VBA代码风格的实现示例:
Sub PrintAllExchangeUserProperties() Dim olApp As Object, olNS As Object Dim exUser As Object Dim tli As Object, typeInfo As Object, mem As Object ' 后期绑定创建Outlook实例,无需提前引用Outlook库 Set olApp = CreateObject("Outlook.Application") Set olNS = olApp.GetNamespace("MAPI") ' 此处替换为你从Recipient获取的ExchangeUser对象即可 Set exUser = olNS.CurrentUser.AddressEntry.GetExchangeUser ' 后期绑定调用类型库工具,无需提前引用Type Information库 Set tli = CreateObject("TLI.TLIApplication") Set typeInfo = tli.ClassInfoFromObject(exUser) For Each mem In typeInfo.Members ' 仅筛选可读属性,过滤方法和只写属性 If mem.InvokeKind = 2 Then ' INVOKE_PROPERTYGET的常量值为2 Debug.Print "属性名:" & mem.Name End If Next End Sub
运行上述代码后,所有支持的可读属性名会输出到VBA编辑器的立即窗口中。
内容的提问来源于stack exchange,提问作者BMoore
相关产品推荐
相关产品推荐

