1

参考: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 つしかありません... カスタム プロパティの存在と、送信側のマシンに設定されているその値を手動で確認できます。

プロパティを設定する方法について、ウェブ上でいくつかの参照を見つけました...しかし、プロパティ値を取得する方法については何もありません。ガイダンスをいただければ幸いです。

4

1 に答える 1