Outlook で予定またはメッセージを作成するときに件名を取得または設定する
Office JavaScript API には、ユーザーが作成している予定またはメッセージの件名を取得および設定するための非同期メソッド (subject.getAsync と subject.setAsync) が用意されています。 これらの非同期メソッドは、アドインを作成する場合にのみ使用できます。これらのメソッドを使用するには、Outlook が新規作成フォームでアドインを アクティブ化するために、アドインのみのマニフェストを適切に設定していることを確認します。
subject
プロパティは、予定とメッセージの新規作成フォームと読み取りフォームの両方で読み取りアクセスに使用できます。 読み取りフォームで、次のように親オブジェクトから直接 プロパティにアクセスします。
Office.context.mailbox.item.subject;
ただし、新規作成フォームでは、ユーザーとアドインの両方が同時にサブジェクトを挿入または変更できるため、 getAsync
メソッドを使用してサブジェクトを非同期的に取得する必要があります。
Office.context.mailbox.item.subject.getAsync(callback);
subject
プロパティは、読み取りフォームではなく、新規作成フォームでのみ書き込みアクセスに使用できます。
ヒント
メッセージの件名に表示されるコンテンツを読み取りモードで一時的に設定するには、 Office.context.mailbox.mailbox.item.display.subject (プレビュー) を使用します。
Office JavaScript API のほとんどの非同期メソッドと同様に、 getAsync
と setAsync
は省略可能な入力パラメーターを受け取ります。 これらの省略可能な入力パラメーターを指定する方法の詳細については、「 Office アドインでの非同期プログラミング」の「省略可能なパラメーターを非同期メソッドに渡す」を参照してください。
件名を取得する
このセクションでは、ユーザーが作成している予定またはメッセージの件名を取得して、その件名を表示するサンプル コードについて説明します。
item.subject.getAsync
を使用するには、非同期呼び出しの状態と結果をチェックするコールバック関数を指定します。 省略可能な asyncContext
パラメーターを使用して、コールバック関数に必要な引数を指定できます。 コールバック関数から状態、結果、エラーを取得するには、コールバックの asyncResult
出力パラメーターを使用します。 非同期呼び出しが成功した場合は、 AsyncResult.value プロパティを使用して、件名をプレーン テキスト文字列として取得します。
let item;
// Confirms that the Office.js library is loaded.
Office.onReady((info) => {
if (info.host === Office.HostType.Outlook) {
item = Office.context.mailbox.item;
getSubject();
}
});
// Gets the subject of the item that the user is composing.
function getSubject() {
item.subject.getAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
write(asyncResult.error.message);
return;
}
// Display the subject on the page.
write(`The subject is: ${asyncResult.value}`);
});
}
// Writes to a div with id="message" on the page.
function write(message) {
document.getElementById("message").innerText += message;
}
件名を設定する
このセクションでは、ユーザーが作成している予定またはメッセージの件名を設定するサンプル コードについて説明します。
item.subject.setAsync
を使用するには、data
パラメーターに最大 255 文字の文字列を指定します。 必要に応じて、コールバック関数とコールバック関数の任意の引数を asyncContext
パラメーターに指定できます。 コールバックの asyncResult
出力パラメーターで、コールバックの状態、結果、およびエラー メッセージを確認します。 非同期呼び出しが成功した場合、 setAsync
は指定したサブジェクト文字列をプレーン テキストとして挿入し、その項目の既存の件名を上書きします。
let item;
// Confirms that the Office.js library is loaded.
Office.onReady((info) => {
if (info.host === Office.HostType.Outlook) {
item = Office.context.mailbox.item;
setSubject();
}
});
// Sets the subject of the item that the user is composing.
function setSubject() {
// Customize the subject with today's date.
const today = new Date();
const subject = `Summary for ${today.toLocaleDateString()}`;
item.subject.setAsync(
subject,
{ asyncContext: { optionalVariable1: 1, optionalVariable2: 2 } },
(asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
write(asyncResult.error.message);
return;
}
/*
The subject was successfully set.
Run additional operations appropriate to your scenario and
use the optionalVariable1 and optionalVariable2 values as needed.
*/
});
}
// Writes to a div with id="message" on the page.
function write(message) {
document.getElementById("message").innerText += message;
}
関連項目
Office Add-ins