参考:Outlook 2013 Windows 8
我已经使用 SetProperty 在外发邮件上设置了自定义属性。一旦在另一台机器上收到邮件,我就可以在 Internet 邮件标题中看到此属性及其值。即使收到的邮件中存在该属性及其关联值,我也无法使用 GetProperty 检索此属性的值。
使用以下代码设置属性:
Const SchemaPrefix As String = "http://schemas.microsoft.com/mapi/string/"
Const SchemaCode As String = "{00020386-0000-0000-C000-000000000046}/ABC-ID"
Dim pa As Outlook.PropertyAccessor
Dim ID_Schema As String
Dim ID_Value As String
ID_Schema = SchemaPrefix & SchemaCode
ID_Value = "12345"
Set pa = item.PropertyAccessor
pa.SetProperty ID_Schema, ID_Value
在另一台机器上收到的邮件中,我可以看到 Internet messager 标头包含:
ABC-ID: 12345
但是,以下代码失败,并返回错误 - 属性“ http://schemas.microsoft.com/mapi/string/{00020386-0000-0000-C000-000000000046}/ABC-ID ”未知或不能成立。
最后一行发生错误:pa.GetProperty(ID_Schema)
Const SchemaPrefix As String = "http://schemas.microsoft.com/mapi/string/"
Const SchemaCode As String = "{00020386-0000-0000-C000-000000000046}/ABC-ID"
Dim pa As Outlook.PropertyAccessor
Dim ID_Schema As String
Dim objFolder As Folder
ID_Schema = SchemaPrefix & SchemaCode
Set objFolder = Outlook.ActiveExplorer.CurrentFolder
Set pa = objFolder.Items.item(1).PropertyAccessor
MsgBox pa.GetProperty(ID_Schema)
在测试文件夹中,只有一封电子邮件......我能够手动验证自定义属性的存在及其在发送机器上设置的值
在网上找到了一些关于如何设置属性的参考资料......但没有关于如何检索属性值的参考资料。指导将不胜感激。