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 |
完了したメソッドを使用してイベント ハンドラーの完了を通知する場合、この値は、処理されたイベントが実行を続行するか、取り消されるかを示します。 たとえば、 |
cancel |
完了したメソッドを使用してイベント ハンドラーの完了を通知し、その 例については、 スマート アラートのチュートリアルを参照してください。 |
command |
完了したメソッドを使用してイベント ハンドラーの完了を通知し、その 例については、 スマート アラートのチュートリアルを参照してください。 |
context |
完了したメソッドを使用してイベント ハンドラーの完了を通知し、その |
error |
完了したメソッドを使用してイベント ハンドラーの完了を通知し、その |
error |
完了したメソッドを使用してイベント ハンドラーの完了を通知し、その |
send |
完了したメソッドを使用してイベント ハンドラーの完了を通知し、その 例については、 スマート アラートのチュートリアルを参照してください。 |
プロパティの詳細
allowEvent
完了したメソッドを使用してイベント ハンドラーの完了を通知する場合、この値は、処理されたイベントが実行を続行するか、取り消されるかを示します。 たとえば、 OnMessageSend
または OnAppointmentSend
イベントを処理するアドインでは、 allowEvent
を false
に設定してアイテムの送信を取り消すことができます。 完全なサンプルについては、 スマート アラートのチュートリアルを参照してください。
allowEvent?: boolean;
プロパティ値
boolean
注釈
最小アクセス許可レベル (Outlook): 制限付き
適用される Outlook モード: Compose
cancelLabel
完了したメソッドを使用してイベント ハンドラーの完了を通知し、そのallowEvent
プロパティを false
に設定すると、このプロパティは[スマート アラート] ダイアログのボタンのテキストをカスタマイズします。 カスタム テキストは 20 文字以下にする必要があります。
例については、 スマート アラートのチュートリアルを参照してください。
cancelLabel?: string;
プロパティ値
string
注釈
最小アクセス許可レベル (Outlook): 制限付き
適用される Outlook モード: Compose
重要:
[スマート アラート] ダイアログのカスタマイズ可能なボタンは、Outlook クライアントとそのバージョンによって異なります。
Outlook on the web、新しい Outlook on Windows、およびバージョン 2412 (ビルド 18324.20000) 以降の従来の Outlook では、
cancelLabel
プロパティによって [アクションの実行] ボタンのテキストがカスタマイズされます。 [アクションの実行] ボタンは、event.completed
呼び出しで [commandId
] オプションが構成されている場合にのみ、[スマート アラート] ダイアログに表示されます。 ダイアログ ボタンのテキストをカスタマイズする場合は、オプションを構成する必要があります。 この実装では、[ 送信しない ] ボタンによって送信されるアイテムが取り消されます。 そのテキストと機能をカスタマイズすることはできません。 作業ウィンドウまたは関数コマンドを割り当てずに [送信しない ] ボタンのテキストを以前にカスタマイズした場合、カスタム テキストは最新の Outlook クライアント バージョンでは有効になりません。 以前に作業ウィンドウまたは関数コマンドを [送信しない ] ボタンに割り当てた場合、最新バージョンの [ アクションの実行 ] ボタンを実装するために追加のアクションは必要ありません。 ユーザーが次回スマート アラート ダイアログを受信すると、既定またはカスタマイズされた [アクションの実行 ] ボタンが自動的に表示されます。 実装の変更は必要ありませんが、この更新されたエクスペリエンスをユーザーに通知することをお勧めします。以前にサポートされたバージョンのクラシック Outlook on Windows (バージョン 2412 より前のバージョン (ビルド 18324.20000) で メールボックス要件セット 1.14)、Outlook on Mac (プレビュー) では、
cancelLabel
プロパティによって [送信しない ] ボタンのテキストがカスタマイズされます。 [ 送信しない ] ボタンは、送信中のアイテムを取り消します。
commandId
完了したメソッドを使用してイベント ハンドラーの完了を通知し、そのallowEvent
プロパティを false
に設定すると、このプロパティは、[スマート アラート] ダイアログのボタンから実行される作業ウィンドウまたは関数の ID を指定します。
例については、 スマート アラートのチュートリアルを参照してください。
commandId?: string;
プロパティ値
string
注釈
最小アクセス許可レベル (Outlook): 制限付き
適用される Outlook モード: Compose
重要:
commandId
値は、アドインのマニフェストで指定された作業ウィンドウまたは関数 ID と一致する必要があります。 マークアップは、アドインで使用するマニフェストの種類によって異なります。
アドイン専用マニフェスト: 作業ウィンドウまたは関数を表す Control 要素の
id
属性。Microsoft 365 の統合マニフェスト: "controls" 配列の作業ウィンドウまたは関数コマンドの "id" プロパティ。
作業ウィンドウを開く、または関数を実行する [スマート アラート] ダイアログのボタンは、Outlook クライアントとバージョンによって異なります。 Outlook on the web、新しい Outlook on Windows、およびバージョン 2412 (ビルド 18324.20000) 以降の従来の Outlook では、[アクションの実行] ボタンが作業ウィンドウを開くか、関数を実行します。 この実装では、[ 送信しない ] ボタンによって送信されるアイテムが取り消されます。 そのテキストと機能をカスタマイズすることはできません。 以前にサポートされたバージョンのクラシック Outlook on Windows (バージョン 2412 より前のバージョン (ビルド 18324.20000) で 、メールボックス要件セット 1.14) と Outlook on Mac (プレビュー) では、[ 送信しない ] ボタンが作業ウィンドウを開くか、関数を実行します。
従来の Outlook on Windows のバージョン 2412 (ビルド 18324.20000) より前のスマート アラート アドインの [ 送信しない ] ボタンのテキストと機能をカスタマイズした場合、サポートされている最新バージョンの [アクションの実行 ] ボタンを実装するための追加のアクションは必要ありません。 ユーザーが次回スマート アラート ダイアログを受信すると、既定またはカスタマイズされた [アクションの実行 ] ボタンが自動的に表示されます。 実装の変更は必要ありませんが、この更新されたエクスペリエンスをユーザーに通知することをお勧めします。
存在しないコマンド ID を指定した場合は、Outlook クライアントに応じて、[ アクションの実行 ] ボタンまたは [送信しない ] ボタンは送信中のアイテムを取り消すだけです。
event.completed
呼び出しで contextData
オプションを指定する場合は、作業ウィンドウまたは関数 ID も commandId
オプションに割り当てる必要があります。 それ以外の場合、 contextData
に割り当てられた JSON データは無視されます。
[スマート アラート] ダイアログで関数を実行するようにボタンを構成すると、関数のボタンも Outlook クライアントのリボンまたはアクション バーに追加されます。
contextData
オプションを使用して、ユーザーがスマート アラート ダイアログから関数を実行するタイミングを区別します。
contextData
完了したメソッドを使用してイベント ハンドラーの完了を通知し、そのallowEvent
プロパティを false
に設定すると、このプロパティは、[スマート アラート] ダイアログで該当するボタンが選択されたときに処理するためにアドインに渡されるすべての JSON データを指定します。
contextData?: any;
プロパティ値
any
注釈
最小アクセス許可レベル (Outlook): 制限付き
適用される Outlook モード: Compose
重要:
Outlook on Windows では、バージョン 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
完了したメソッドを使用してイベント ハンドラーの完了を通知し、そのallowEvent
プロパティを false
に設定すると、このプロパティはユーザーに表示されるエラー メッセージを設定します。 例については、 スマート アラートのチュートリアルを参照してください。
errorMessage?: string;
プロパティ値
string
注釈
最小アクセス許可レベル (Outlook): 制限付き
適用される Outlook モード: Compose
重要: エラー メッセージは 500 文字以下にする必要があります。
errorMessageMarkdown
完了したメソッドを使用してイベント ハンドラーの完了を通知し、そのallowEvent
プロパティを false
に設定すると、このプロパティはユーザーに表示されるエラー メッセージを設定します。 エラー メッセージは Markdown を使用して書式設定されます。 例については、 スマート アラートのチュートリアルを参照してください。
errorMessageMarkdown?: string;
プロパティ値
string
注釈
最小アクセス許可レベル (Outlook): 制限付き
適用される Outlook モード: Compose
重要
書式設定されたエラー メッセージは 500 文字以下にする必要があります。
サポートされている Markdown 要素のガイダンスについては、「Markdown を使用してダイアログ メッセージを書式設定するための制限事項」を参照してください。
errorMessageMarkdown
プロパティを使用してダイアログ メッセージを書式設定する場合は、errorMessage
プロパティを使用してプレーンテキスト バージョンのメッセージを追加することをお勧めします。 これにより、Markdown をサポートしていない Outlook クライアントにメッセージが正しく表示されます。
sendModeOverride
完了したメソッドを使用してイベント ハンドラーの完了を通知し、そのallowEvent
プロパティを false
に設定すると、このプロパティは実行時にマニフェストで指定された送信モード オプションをオーバーライドします。
例については、 スマート アラートのチュートリアルを参照してください。
sendModeOverride?: MailboxEnums.SendModeOverride | string;
プロパティ値
Office.MailboxEnums.SendModeOverride | string
注釈
最小アクセス許可レベル (Outlook): 制限付き
適用される Outlook モード: Compose
重要: 現在、 sendModeOverride
は プロンプト ユーザー オプションにのみ設定できます。