Office.SmartAlertsEventCompletedOptions interface
スマート アラート アドインがOnMessageSendイベントまたはOnAppointmentSendイベントの処理を完了したときの動作を指定します。
注釈
最小アクセス許可レベル (Outlook): 制限付き
適用可能な Outlook モード: Compose
使用元
例
// The following example checks whether a location is specified in an appointment before it's sent.
function onAppointmentSendHandler(event) {
Office.context.mailbox.item.location.getAsync({ asyncContext: event }, asyncResult => {
const event = asyncResult.asyncContext;
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log(asyncResult.error.message);
// If the add-in is unable to retrieve the appointment's location, the appointment isn't sent.
event.completed({ allowEvent: false, errorMessage: "Failed to get the appointment's location." });
return;
}
if (asyncResult.value === "") {
// If no location is specified, the appointment isn't sent and the user is alerted to include a location.
event.completed(
{
allowEvent: false,
cancelLabel: "Add a location",
commandId: "msgComposeOpenPaneButton",
contextData: JSON.stringify({ a: "aValue", b: "bValue" }),
errorMessage: "Don't forget to add a meeting location.",
errorMessageMarkdown: "Don't forget to add a meeting location.\n\n**Tip**: For a list of locations, see [Meeting Locations]("https://www.contoso.com/meeting-locations).",
sendModeOverride: Office.MailboxEnums.SendModeOverride.PromptUser
}
);
} else {
// If a location is specified, the appointment is sent.
event.completed({ allowEvent: true });
}
});
}
プロパティ
| allow |
completed メソッドを使用してイベント ハンドラーの完了を通知する場合、この値は、処理されたイベントの実行を続行するかキャンセルするかを示します。 たとえば、 |
| cancel |
completed メソッドを使用してイベント ハンドラーの完了を通知し、その 例については、「 スマート アラートのチュートリアル」を参照してください。 |
| command |
completed メソッドを使用してイベント ハンドラーの完了を通知し、その 例については、「 スマート アラートのチュートリアル」を参照してください。 |
| context |
completed メソッドを使用してイベント ハンドラーの完了を通知し、その |
| error |
completed メソッドを使用してイベント ハンドラーの完了を通知し、その |
| error |
completed メソッドを使用してイベント ハンドラーの完了を通知し、その |
| send |
completed メソッドを使用してイベント ハンドラーの完了を通知し、その 例については、「 スマート アラートのチュートリアル」を参照してください。 |
プロパティの詳細
allowEvent
completed メソッドを使用してイベント ハンドラーの完了を通知する場合、この値は、処理されたイベントの実行を続行するかキャンセルするかを示します。 たとえば、 OnMessageSend イベントまたは OnAppointmentSend イベントを処理するアドインは、 allowEvent を false に設定してアイテムの送信を取り消すことができます。 完全なサンプルについては、「 スマート アラートのチュートリアル」を参照してください。
allowEvent?: boolean;
プロパティ値
boolean
注釈
最小アクセス許可レベル (Outlook): 制限付き
適用可能な Outlook モード: Compose
cancelLabel
completed メソッドを使用してイベント ハンドラーの完了を通知し、その allowEvent プロパティを false に設定すると、このプロパティによってスマート アラート ダイアログのボタンのテキストがカスタマイズされます。 カスタム テキストは 20 文字以下にする必要があります。
例については、「 スマート アラートのチュートリアル」を参照してください。
cancelLabel?: string;
プロパティ値
string
注釈
最小アクセス許可レベル (Outlook): 制限付き
適用可能な Outlook モード: Compose
重要:
スマート アラート ダイアログのカスタマイズ可能なボタンは、Outlook クライアントとそのバージョンによって異なります。
Outlook on the web、Mac (バージョン 16.105 (ビルド 25121117) 以降のプレビュー)、新しい Outlook on Windows、およびバージョン 2412 (ビルド 18324.20000) 以降の従来の Outlook on Windows では、
cancelLabelプロパティを使用して、[アクションの実行] ボタンのテキストをカスタマイズします。 [アクションの実行] ボタンは、event.completed呼び出しで [commandId] オプションが構成されている場合にのみ、[スマート アラート] ダイアログに表示されます。 ダイアログ ボタンのテキストをカスタマイズする場合は、このオプションを構成する必要があります。 この実装では、[ 送信しない ] ボタンを押すと、送信中のアイテムがキャンセルされます。 テキストや機能はカスタマイズできません。 以前に作業ウィンドウまたは関数コマンドを割り当てずに [送信しない ] ボタンのテキストをカスタマイズした場合、カスタム テキストは最新の Outlook クライアント バージョンでは有効になりません。 以前に作業ウィンドウまたは関数コマンドを [ 送信しない ] ボタンに割り当てていた場合、最新バージョンで [操作の実行] ボタンを実装するために追加のアクションは必要ありません。 既定またはカスタマイズされた [アクションの実行 ] ボタンは、次回ユーザーがスマート アラート ダイアログを受け取ったときに自動的に表示されます。 実装の変更は必要ありませんが、この更新されたエクスペリエンスについてユーザーに通知することをお勧めします。従来の Outlook on Windows (バージョン 2412 (ビルド 18324.20000) より前) および Outlook on Mac (バージョン 16.105 (ビルド 25121117) より前) では、
cancelLabelプロパティを使用して [ 送信しない ] ボタンのテキストをカスタマイズします。 [ 送信しない ] ボタンをクリックすると、送信中のアイテムがキャンセルされます。
commandId
completed メソッドを使用してイベント ハンドラーの完了を通知し、その allowEvent プロパティを false に設定した場合、このプロパティは [スマート アラート] ダイアログのボタンから実行される作業ウィンドウまたは関数の ID を指定します。
例については、「 スマート アラートのチュートリアル」を参照してください。
commandId?: string;
プロパティ値
string
注釈
API セット: メールボックス 1.14 (作業ウィンドウのサポート)、メールボックス 1.15 (関数コマンドのサポート)
最小アクセス許可レベル (Outlook): 制限付き
適用可能な Outlook モード: Compose
重要:
commandId値は、アドインのマニフェストで指定された作業ウィンドウまたは関数 ID と一致する必要があります。 マークアップは、アドインで使用するマニフェストの種類によって異なります。
アドインのみのマニフェスト: 作業ウィンドウまたは機能を表す Control 要素の
id属性。Microsoft 365 の統合マニフェスト: "controls" 配列内の作業ウィンドウまたは関数コマンドの "id" プロパティ。
タスク ウィンドウを開く、または関数を実行するスマート アラート ダイアログのボタンは、Outlook クライアントとバージョンによって異なります。 Outlook on the web、Mac (バージョン 16.105 (ビルド 25121117) 以降のプレビュー)、新しい Outlook on Windows、およびバージョン 2412 (ビルド 18324.20000) 以降の従来の Outlook on Windows では、[アクションの実行] ボタンで作業ウィンドウを開くか、関数を実行します。 この実装では、[ 送信しない ] ボタンを押すと、送信中のアイテムがキャンセルされます。 テキストや機能はカスタマイズできません。 Windows 用 Outlook ( メールボックス要件セット 1.14 をサポートするバージョン 2412 (ビルド 18324.20000) より前のバージョン) および Mac 用 Outlook では、 [ 送信しない ] ボタンで作業ウィンドウを開くか、関数を実行します。
従来の Outlook on Windows のバージョン 2412 (ビルド 18324.20000) 以前、または Outlook on Mac のバージョン 16.105 (ビルド 25121117) より前のスマート アラート アドインの [ 送信しない ] ボタンのテキストと機能をすでにカスタマイズしている場合、サポートされている最新バージョンで [アクションの実行 ] ボタンを実装するために追加の操作は必要ありません。 既定またはカスタマイズされた [アクションの実行 ] ボタンは、次回ユーザーがスマート アラート ダイアログを受け取ったときに自動的に表示されます。 実装の変更は必要ありませんが、この更新されたエクスペリエンスについてユーザーに通知することをお勧めします。
存在しないコマンド ID を指定した場合、Outlook クライアントによっては、[ 操作の実行 ] または [送信しない ] ボタンを押すと、送信中のアイテムが取り消されます。
event.completed呼び出しでcontextDataオプションを指定する場合は、作業ウィンドウまたは関数 ID もcommandIdオプションに割り当てる必要があります。 それ以外の場合、 contextData に割り当てられた JSON データは無視されます。
[スマート アラート] ダイアログで関数を実行するボタンを構成すると、関数のボタンが Outlook クライアントのリボンまたはアクション バーにも追加されます。
contextData オプションを使用して、ユーザーが機能を実行するタイミングを [スマート アラート] ダイアログと区別します。
スマート アラート ダイアログのボタンで関数を実行するプログラミングは、バージョン 16.105 (ビルド 25121117) 以降の Outlook on Mac でプレビューできます。 この機能をテストするには、 Microsoft 365 Insider プログラム に参加し、 ベータ チャネル オプションを選択して Office ベータ ビルドにアクセスします。
contextData
completed メソッドを使用してイベント ハンドラーの完了を通知し、その allowEvent プロパティを false に設定すると、このプロパティは、スマート アラート ダイアログから該当するボタンが選択されたときに、処理のためにアドインに渡される JSON データを指定します。
contextData?: any;
プロパティ値
any
注釈
最小アクセス許可レベル (Outlook): 制限付き
適用可能な Outlook モード: Compose
重要:
Windows 上の Outlook では、バージョン 2402 (ビルド 17308.20000) 以降、
anyの種類がサポートされています。 以前のバージョンの Outlook on Windows では、stringの種類のみがサポートされています。event.completed呼び出しでcontextDataオプションを指定する場合は、作業ウィンドウまたは関数 ID もcommandIdオプションに割り当てる必要があります。 それ以外の場合、contextDataに割り当てられた JSON データは無視されます。アドインに
contextData値を渡すダイアログ ボタンは、Outlook クライアントとそのバージョンによって異なります。 詳細については、「ダイアログ内のボタンのテキストと機能をカスタマイズする」を参照してください。contextDataプロパティの値を取得するには、作業ウィンドウの JavaScript 実装でOffice.context.mailbox.item.getInitializationContextAsyncを呼び出す必要があります。JSON.stringify()を使用して JSON 文字列を作成し、それをcontextDataプロパティに割り当てる場合は、文字列を取得した後は、JSON.parse()を使用して文字列を解析する必要があります。[スマート アラート] ダイアログで関数を実行するボタンを構成すると、関数のボタンが Outlook クライアントのリボンまたはアクション バーにも追加されます。
contextDataオプションを使用して、ユーザーが機能を実行するタイミングを [スマート アラート] ダイアログと区別します。スマート アラート アドインの作業ウィンドウが既に開いている場合に再起動されないようにするには、
Office.EventType.InitializationContextChangedイベントのハンドラーを実装します。 その後、 イベント引数 をcontextDataプロパティに渡すことができます。
errorMessage
completed メソッドを使用してイベント ハンドラーの完了を通知し、その allowEvent プロパティを false に設定すると、このプロパティによってユーザーに表示されるエラー メッセージが設定されます。 例については、「 スマート アラートのチュートリアル」を参照してください。
errorMessage?: string;
プロパティ値
string
注釈
最小アクセス許可レベル (Outlook): 制限付き
適用可能な Outlook モード: Compose
重要:
エラー メッセージは 500 文字以内にする必要があります。
errorMessageプロパティにメッセージを指定しない場合は、代わりに "<アドイン名> のため、このメールを送信できません" という既定のメッセージが表示されます。
errorMessageMarkdown
completed メソッドを使用してイベント ハンドラーの完了を通知し、その allowEvent プロパティを false に設定すると、このプロパティによってユーザーに表示されるエラー メッセージが設定されます。 エラー メッセージは Markdown を使用してフォーマットされています。 例については、「 スマート アラートのチュートリアル」を参照してください。
errorMessageMarkdown?: string;
プロパティ値
string
注釈
最小アクセス許可レベル (Outlook): 制限付き
適用可能な Outlook モード: Compose
重要
errorMessageMarkdownプロパティは、Outlook on Mac バージョン 16.103 (ビルド 25102433) 以降でプレビューできます。 プロパティをテストするには、 Microsoft 365 Insider プログラム に参加し、[ ベータ チャネル] オプションを選択して Office ベータ ビルドにアクセスします。書式設定されたエラー メッセージは 500 文字以内にする必要があります。
サポートされている Markdown 要素のガイダンスについては、「Markdown を使用したダイアログ メッセージの書式設定の制限事項」を参照してください。
errorMessageMarkdownプロパティを使用してダイアログ メッセージを書式設定する場合は、errorMessageプロパティを使用してメッセージのプレーンテキスト バージョンも追加することをお勧めします。 これにより、Markdown をサポートしていない Outlook クライアントでメッセージが正しく表示されます。
sendModeOverride
completed メソッドを使用してイベント ハンドラーの完了を通知し、その allowEvent プロパティを false に設定すると、このプロパティは実行時にマニフェストで指定された送信モード オプションをオーバーライドします。
例については、「 スマート アラートのチュートリアル」を参照してください。
sendModeOverride?: MailboxEnums.SendModeOverride | string;
プロパティ値
Office.MailboxEnums.SendModeOverride | string
注釈
最小アクセス許可レベル (Outlook): 制限付き
適用可能な Outlook モード: Compose
重要: 現時点では、 sendModeOverride は プロンプト ユーザー オプションにのみ設定できます。