Office.CustomProperties interface

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

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

注釈

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

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

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

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

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

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

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

メソッド

get(name)

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

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}".`);

remove(name)

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

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

remove(name: string): void;

パラメーター

name

string

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

戻り値

void

注釈

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

適用できる 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}".`);