Office.CustomProperties interface

オブジェクトは CustomProperties 、特定のメール アイテムに固有で、Outlook アドインに固有のカスタム プロパティを表します。 たとえば、アドインがアドインをアクティブ化した現在のメッセージに固有のデータを保存する必要がある場合があります。 ユーザーが今後同じメッセージを再び確認し、アドインをもう一度アクティブ化すると、アドインはカスタム プロパティとして保存されたデータを取得できるようになります。

の詳細CustomPropertiesについては、「Outlook アドインのアドイン メタデータを取得して設定する」を参照してください。

注釈

[ API セット: メールボックス 1.1 ]

アドインでカスタム プロパティを使用する場合は、次の点に注意してください。

  • 作成モードで保存されたカスタム プロパティは、メール アイテムの受信者に送信されません。 カスタム プロパティを含むメッセージまたは予定を送信すると、そのプロパティに [送信済みアイテム] フォルダー内のアイテムからアクセスできます。 受信者がカスタム データにアクセスできるようにする場合は、代わりに InternetHeaders を使用することを検討してください。

  • JSON オブジェクトの CustomProperties 最大長は 2500 文字です。

  • Outlook on Mac では、カスタム プロパティはキャッシュされません。 ユーザーのネットワークがダウンした場合、メール アドインはカスタム プロパティにアクセスできません。

最小アクセス許可レベル: アイテムの読み取り

適用できる Outlook モード: 新規作成または読み取り

メソッド

get(name)

指定したカスタム プロパティの値を返します。

getAll()

名前と値のペアのコレクション内のすべてのカスタム プロパティを持つオブジェクトを返します。 以下は同等です。

customProps.get("name")

var dictionary = customProps.getAll(); dictionary["name"]

ディクショナリ オブジェクトを反復処理して、すべて と valuesnames検出できます。

remove(name)

カスタム プロパティ コレクションから指定のプロパティを削除します。

プロパティを永続的に削除するには、 オブジェクトの CustomProperties メソッドをsaveAsync呼び出す必要があります。

saveAsync(callback, asyncContext)

カスタム プロパティをメッセージまたは予定に保存します。

メソッドまたは オブジェクトの saveAsync メソッドで set 行われた変更を保持するには、 メソッドを remove 呼び出す CustomProperties 必要があります。 保存操作は非同期です。

コールバック関数で をチェックし、 からの saveAsyncエラーを処理することをお勧めします。 特に、ユーザーが表示フォームの接続状態時に、読み取り用のアドインがアクティブ化され、その後ユーザーが切断されます。 切断状態でアドインが saveAsync を呼び出す場合、saveAsync はエラーを返します。 コールバック関数は、それに応じてこのエラーを処理する必要があります。

saveAsync(asyncContext)

カスタム プロパティをメッセージまたは予定に保存します。

メソッドまたは オブジェクトの saveAsync メソッドで set 行われた変更を保持するには、 メソッドを remove 呼び出す CustomProperties 必要があります。 保存操作は非同期です。

コールバック関数で をチェックし、 からの saveAsyncエラーを処理することをお勧めします。 特に、ユーザーが表示フォームの接続状態時に、読み取り用のアドインがアクティブ化され、その後ユーザーが切断されます。 切断状態でアドインが saveAsync を呼び出す場合、saveAsync はエラーを返します。 コールバック関数は、それに応じてこのエラーを処理する必要があります。

set(name, value)

指定のプロパティを指定の値に設定します。

set メソッドは、指定のプロパティを指定の値に設定します。 set プロパティと値がメール アイテムに保持されるようにするには、 メソッドを saveAsync 呼び出す必要があります。

指定したプロパティがまだ存在しない場合は set 、メソッドによって新しいプロパティが作成されます。それ以外の場合は、既存の値が新しい値に置き換えられます。 パラメーターは value 任意の型にすることができます。ただし、常に文字列としてサーバーに渡されます。

メソッドの詳細

get(name)

指定したカスタム プロパティの値を返します。

get(name: string): any;

パラメーター

name

string

取得するカスタム プロパティの名前。

戻り値

any

指定したカスタム プロパティの値。

注釈

[ API セット: メールボックス 1.1 ]

最小アクセス許可レベル: アイテムの読み取り

適用できる Outlook モード: 新規作成または読み取り

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/15-item-custom-properties/load-set-get-save.yaml

const propertyName = $("#propertyName").val();
const propertyValue = customProps.get(propertyName);
$("#propertyValue").val(propertyValue);
console.log(`The value of custom property "${propertyName}" is "${propertyValue}".`);

getAll()

名前と値のペアのコレクション内のすべてのカスタム プロパティを持つオブジェクトを返します。 以下は同等です。

customProps.get("name")

var dictionary = customProps.getAll(); dictionary["name"]

ディクショナリ オブジェクトを反復処理して、すべて と valuesnames検出できます。

getAll(): any;

戻り値

any

名前と値のペアのコレクション内のすべてのカスタム プロパティを持つオブジェクト。

注釈

[ API セット: メールボックス 1.9 ]

最小アクセス許可レベル: アイテムの読み取り

適用できる Outlook モード: 新規作成または読み取り

remove(name)

カスタム プロパティ コレクションから指定のプロパティを削除します。

プロパティを永続的に削除するには、 オブジェクトの CustomProperties メソッドをsaveAsync呼び出す必要があります。

remove(name: string): void;

パラメーター

name

string

name削除するプロパティの 。

戻り値

void

注釈

[ API セット: メールボックス 1.1 ]

最小アクセス許可レベル: アイテムの読み取り

適用できる Outlook モード: 新規作成または読み取り

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/15-item-custom-properties/load-set-get-save.yaml

const propertyName = $("#propertyName").val();
customProps.remove(propertyName);
console.log(`Custom property "${propertyName}" removed.`);

saveAsync(callback, asyncContext)

カスタム プロパティをメッセージまたは予定に保存します。

メソッドまたは オブジェクトの saveAsync メソッドで set 行われた変更を保持するには、 メソッドを remove 呼び出す CustomProperties 必要があります。 保存操作は非同期です。

コールバック関数で をチェックし、 からの saveAsyncエラーを処理することをお勧めします。 特に、ユーザーが表示フォームの接続状態時に、読み取り用のアドインがアクティブ化され、その後ユーザーが切断されます。 切断状態でアドインが saveAsync を呼び出す場合、saveAsync はエラーを返します。 コールバック関数は、それに応じてこのエラーを処理する必要があります。

saveAsync(callback: (asyncResult: Office.AsyncResult<void>) => void, asyncContext?: any): void;

パラメーター

callback

(asyncResult: Office.AsyncResult<void>) => void

メソッドが完了すると、 パラメーターで callback 渡された関数が、 型 Office.AsyncResultの 1 つのパラメーターで呼び出されます。

asyncContext

any

オプション。 コールバック関数に渡される状態データ。

戻り値

void

注釈

[ API セット: メールボックス 1.1 ]

重要: Outlook on Windows では、作成モードで保存されたカスタム プロパティは、作成中のアイテムが閉じられた後、または後に呼び出された後 Office.context.mailbox.item.saveAsync にのみ保持されます。

最小アクセス許可レベル: アイテムの読み取り

適用できる Outlook モード: 新規作成または読み取り

// The following JavaScript code sample shows how to asynchronously use
// the loadCustomPropertiesAsync method to load custom properties that
// are specific to the current item, and the saveAsync method to save
// these to the mail item. After loading the custom properties,
// the code sample uses the get method to read the custom property myProp,
// the set method to write the custom property myProp, and then finally
// calls the saveAsync method to save the custom properties.

// The initialize function is required for all add-ins.
Office.initialize = function () {
    // Checks for the DOM to load using the jQuery ready method.
    $(document).ready(function () {
        // After the DOM is loaded, add-in-specific code can run.
        const item = Office.context.mailbox.item;
        item.loadCustomPropertiesAsync(customPropsCallback);
    });
};

function customPropsCallback(asyncResult) {
    const customProps = asyncResult.value;
    const myProp = customProps.get("myProp");
    console.log("myProp: " + myProp); // First run on current item will return `undefined`.

    // Set myProp custom property.
    customProps.set("myProp", "value");
    customProps.saveAsync(saveCallback);
}

function saveCallback(asyncResult) {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
        console.error(asyncResult.error.message);
    }
    else {
        // Async call to save custom properties completed.
        // Proceed to do the appropriate for your add-in.
    }
}

saveAsync(asyncContext)

カスタム プロパティをメッセージまたは予定に保存します。

メソッドまたは オブジェクトの saveAsync メソッドで set 行われた変更を保持するには、 メソッドを remove 呼び出す CustomProperties 必要があります。 保存操作は非同期です。

コールバック関数で をチェックし、 からの saveAsyncエラーを処理することをお勧めします。 特に、ユーザーが表示フォームの接続状態時に、読み取り用のアドインがアクティブ化され、その後ユーザーが切断されます。 切断状態でアドインが saveAsync を呼び出す場合、saveAsync はエラーを返します。 コールバック関数は、それに応じてこのエラーを処理する必要があります。

saveAsync(asyncContext?: any): void;

パラメーター

asyncContext

any

オプション。 コールバック関数に渡される状態データ。

戻り値

void

注釈

[ API セット: メールボックス 1.1 ]

最小アクセス許可レベル: アイテムの読み取り

適用できる Outlook モード: 新規作成または読み取り

set(name, value)

指定のプロパティを指定の値に設定します。

set メソッドは、指定のプロパティを指定の値に設定します。 set プロパティと値がメール アイテムに保持されるようにするには、 メソッドを saveAsync 呼び出す必要があります。

指定したプロパティがまだ存在しない場合は set 、メソッドによって新しいプロパティが作成されます。それ以外の場合は、既存の値が新しい値に置き換えられます。 パラメーターは value 任意の型にすることができます。ただし、常に文字列としてサーバーに渡されます。

set(name: string, value: string): void;

パラメーター

name

string

設定するプロパティの名前。

value

string

設定するプロパティの値。

戻り値

void

注釈

[ API セット: メールボックス 1.1 ]

最小アクセス許可レベル: アイテムの読み取り

適用できる Outlook モード: 新規作成または読み取り

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/15-item-custom-properties/load-set-get-save.yaml

const propertyName = $("#propertyName").val();
const propertyValue = $("#propertyValue").val();
customProps.set(propertyName, propertyValue);
console.log(`Custom property "${propertyName}" set to value "${propertyValue}".`);