通过命名空间引用属性
本主题列出了 PropertyAccessor、 Table 和 View 支持的命名空间及其子对象,并讨论引用命名属性。
Outlook 对象使用的命名空间
下表汇总了命名空间以及命名空间支持的 Outlook 对象。 请注意,通过命名空间引用的属性区分大小写。
命名空间 | 支持的 Outlook 对象 |
---|---|
https://schemas.microsoft.com/mapi/proptag | Outlook 项目对象、 AddressEntry、 AddressList、 Attachment、 ExchangeDistributionList、 ExchangeUser、 Folder、 Recipient 和 Store 对象。 |
https://schemas.microsoft.com/mapi/id | (同上) |
https://schemas.microsoft.com/mapi/string | (同上) |
https://schemas.microsoft.com/exchange | (同上) |
urn:schemas-microsoft-com:office:office | Outlook 项目对象 |
urn:schemas-microsoft-com:office:outlook | Outlook 项目对象 |
DAV: | Outlook 项目对象 |
urn:schemas:calendar | Outlook 项目对象 |
urn:schemas:contacts | Outlook 项目对象 |
urn:schemas:httpmail | Outlook 项目对象 |
urn:schemas:mailheader | Outlook 项目对象 |
消息传送应用程序编程接口 (MAPI) 命名空间
Outlook 支持的很多属性是 MAPI 属性。 PropertyAccessor 对象支持 MAPI 命名空间的三个子命名空间:属性标记、ID 和字符串。 以下每个部分都包含子空间的说明、引用该子空间中的属性的格式的说明,以及 [ RFC4234] 中指定的增强Backus-Naur Form (ABNF) 中表示的语法定义。
proptag 命名空间
此命名空间用于使用属性的属性标记访问 MAPI 命名空间中的属性。 它只支持 MAPI 属性范围中的属性(即属性标识符小于 0x8000 的属性)。 下面是引用此命名空间中的属性的格式:
https://schemas.microsoft.com/mapi/proptag/0xHHHHHHHH
HHHHHH 表示十六进制属性标记值,其唯一属性标识符在高阶 16 位中,属性类型为低阶 16 位。 每个 MAPI 属性必须具有一个属性标记,无论该属性由 MAPI、Outlook 还是服务提供程序定义。 十六进制值必须跟在前缀"0x"之后。
正式地说,可以在 ABNF 中定义此命名空间中属性的引用,如下所示:
proptag-specifier = "https://schemas.microsoft.com/mapi/proptag/x" property-id property-type
property-id = 4HEXDIG
property-type = 4HEXDIG
例如,以下内容表示 Outlook 在其对象模型中公开为 Subject 的 MAPI 属性 PidTagSubject:
https://schemas.microsoft.com/mapi/proptag/0x0037001E
id 命名空间
此命名空间用于使用属性的标识符访问由命名空间的全局唯一标识符 (GUID) 标识的命名空间中的属性。 下面是引用此命名空间中的属性的格式:
https://schemas.microsoft.com/mapi/id/{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH}/HHHHHHHH
{HHHHHHHHHH-HHHHH-HHHHHHHHHHHHHHHH} 表示命名空间 GUID, HHHHHHHHHH 表示属性标记。
正式地说,可以在 ABNF 中定义此命名空间中属性的引用,如下所示:
id-specifier = "https://schemas.microsoft.com/mapi/id/" property-set "/x" property-long-id
property-set = "{" 8HEXDIG "-" 4HEXDIG "-" 4HEXDIG "-" 4HEXDIG "-" 12HEXDIG "}"
property-long-id = 8HEXDIG
例如,以下表示 Outlook NoAging 属性:
https://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/850E000B
字符串命名空间
此命名空间用于访问已标识命名空间中的字符串命名属性。 下面是引用此命名空间中的属性的格式:
https://schemas.microsoft.com/mapi/string/{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH}/ name
{HHHHHHHHH-HHHH-HHHHH-HHHHHHHHHHHHH} 表示命名空间 GUID, name 是定义为字符串的本地属性名称。
正式地说,可以在 ABNF 中定义此命名空间中属性的引用,如下所示:
string-specifier = "https://schemas.microsoft.com/mapi/string/" property-set "/" property-name
property-set = "{" 8*HEXDIG "-" 4*HEXDIG "-" 4*HEXDIG "-" 4*HEXDIG "-" 12*HEXDIG "}"
property-name = 1*CHAR
下面是使用此命名空间的示例:
https://schemas.microsoft.com/mapi/string/{00020386-0000-0000-C000-000000000046}/content-class
转义规则适用于引用 字符串 命名空间中的命名属性。 引用具有字符串标识符的命名属性时, (例如 Author、Company 和 Title) ,如果属性名称包含空格、单引号、双引号或百分比字符,则必须使用通用资源定位符 (URL) 转义,并使用相应的转义字符串表示此类字符,如下表所示。
属性引用中的字符 | 转义字符串 |
---|---|
空格字符 | %20 |
双引号 | %22 |
单引号 | %27 |
百分比字符 | %25 |
下面是一个示例,说明如何使用 PropertyAccessor.GetProperty 方法指定和获取在 MAPI 字符串命名空间中定义的命名属性“Gift”的值:
PropertyAccessor.GetProperty("https://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/Mom%27s%20%22Gift%22")
Exchange 命名空间
Exchange 命名空间用来访问以字符串命名的 Exchange 属性。 下面是引用此命名空间中的属性的格式:
https://schemas.microsoft.com/exchange/ name
name 是定义为字符串的本地属性名称。
下面是此命名空间引用的属性的示例:
https://schemas.microsoft.com/exchange/readreceiptrequested
Office 命名空间
PropertyAccessor 对象支持两个 Office 子命名空间:
Office 命名空间
此命名空间用于访问 DocumentItem 对象的属性。 下面是引用此命名空间中的属性的格式:
urn:schemas-microsoft-com:office:office# 名称
name 是定义为字符串的本地属性名称。
下面是使用 Office 命名空间引用 DocumentItem 属性的一些示例:
urn:schemas-microsoft-com:office:office#Subject
urn:schemas-microsoft-com:office:office#Template
Outlook 命名空间
此命名空间用于访问 Outlook 项目级属性。 与其他支持属性引用的命名空间类似,使用此命名空间访问对象模型中未显式公开的 Outlook 属性。 下面是引用此命名空间中的属性的格式:
urn:schemas-microsoft-com:office:outlook# 名称
name 是定义为字符串的本地属性名称。
下面是使用 Outlook 命名空间引用 Outlook 项目级属性的示例:
urn:schemas-microsoft-com:office:outlook#remotemessagesize
(DAV) 命名空间的分布式创作和版本控制
DAV 命名空间用来访问 Outlook 项目级属性。 DAV 命名空间中的属性使用统一资源标识符 (URI) 命名空间引用来确定范围。 格式为连接在一起的命名空间 URI 前缀和以字符串形式表示的本地属性名,命名空间 URI 为统一资源名称 (URN) 或统一资源定位器 (URL)。
下面是 PropertyAccessor 对象支持的 DAV 命名空间:
DAV:
urn:schemas:calendar
urn:schemas:contacts
urn:schemas:httpmail
urn:schemas:mailheader
下面是不同 DAV 命名空间所引用的属性的一些示例:
DAV:checkintime
urn:schemas:httpmail:subject
urn:schemas:mailheader:subject
另请参阅
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。