参考:Outlook 2013 Windows 8
SetProperty を使用して送信メールにカスタム プロパティを設定しました。メールが別のマシンで受信されると、インターネット メッセージ ヘッダーでこのプロパティとその値を確認できます。プロパティとそれに関連付けられた値が受信メールに存在するにもかかわらず、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
別のマシンで受信したメールでは、インターネット メッセージ ヘッダーに次の内容が含まれていることがわかります。
ABC-ID: 12345
ただし、次のコードは失敗し、次のエラーが返されます - The property " http://schemas.microsoft.com/mapi/string/ {00020386-0000-0000-C000-000000000046}/ABC-ID" is unknown or cannot be見つかった。
最後の行でエラーが発生します: 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)
テスト フォルダーにはメールが 1 つしかありません... カスタム プロパティの存在と、送信側のマシンに設定されているその値を手動で確認できます。
プロパティを設定する方法について、ウェブ上でいくつかの参照を見つけました...しかし、プロパティ値を取得する方法については何もありません。ガイダンスをいただければ幸いです。