次の方法で共有


Office.SmartAlertsEventCompletedOptions interface

OnMessageSendまたはOnAppointmentSend イベントの処理が完了したときのスマート アラート アドインの動作を指定します。

注釈

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

最小アクセス許可レベル (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 });
        }
    });
}

プロパティ

allowEvent

完了したメソッドを使用してイベント ハンドラーの完了を通知する場合、この値は、処理されたイベントが実行を続行するか、取り消されるかを示します。 たとえば、 OnMessageSend または OnAppointmentSend イベントを処理するアドインでは、 allowEventfalse に設定してアイテムの送信を取り消すことができます。 完全なサンプルについては、 スマート アラートのチュートリアルを参照してください。

cancelLabel

完了したメソッドを使用してイベント ハンドラーの完了を通知し、そのallowEvent プロパティを false に設定すると、このプロパティは[スマート アラート] ダイアログのボタンのテキストをカスタマイズします。 カスタム テキストは 20 文字以下にする必要があります。

例については、 スマート アラートのチュートリアルを参照してください。

commandId

完了したメソッドを使用してイベント ハンドラーの完了を通知し、そのallowEvent プロパティを false に設定すると、このプロパティは、[スマート アラート] ダイアログのボタンから実行される作業ウィンドウまたは関数の ID を指定します。

例については、 スマート アラートのチュートリアルを参照してください。

contextData

完了したメソッドを使用してイベント ハンドラーの完了を通知し、そのallowEvent プロパティを false に設定すると、このプロパティは、[スマート アラート] ダイアログで該当するボタンが選択されたときに処理するためにアドインに渡されるすべての JSON データを指定します。

errorMessage

完了したメソッドを使用してイベント ハンドラーの完了を通知し、そのallowEvent プロパティを false に設定すると、このプロパティはユーザーに表示されるエラー メッセージを設定します。 例については、 スマート アラートのチュートリアルを参照してください。

errorMessageMarkdown

完了したメソッドを使用してイベント ハンドラーの完了を通知し、そのallowEvent プロパティを false に設定すると、このプロパティはユーザーに表示されるエラー メッセージを設定します。 エラー メッセージは Markdown を使用して書式設定されます。 例については、 スマート アラートのチュートリアルを参照してください。

sendModeOverride

完了したメソッドを使用してイベント ハンドラーの完了を通知し、そのallowEvent プロパティを false に設定すると、このプロパティは実行時にマニフェストで指定された送信モード オプションをオーバーライドします。

例については、 スマート アラートのチュートリアルを参照してください。

プロパティの詳細

allowEvent

完了したメソッドを使用してイベント ハンドラーの完了を通知する場合、この値は、処理されたイベントが実行を続行するか、取り消されるかを示します。 たとえば、 OnMessageSend または OnAppointmentSend イベントを処理するアドインでは、 allowEventfalse に設定してアイテムの送信を取り消すことができます。 完全なサンプルについては、 スマート アラートのチュートリアルを参照してください。

allowEvent?: boolean;

プロパティ値

boolean

注釈

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

最小アクセス許可レベル (Outlook): 制限付き

適用される Outlook モード: Compose

cancelLabel

完了したメソッドを使用してイベント ハンドラーの完了を通知し、そのallowEvent プロパティを false に設定すると、このプロパティは[スマート アラート] ダイアログのボタンのテキストをカスタマイズします。 カスタム テキストは 20 文字以下にする必要があります。

例については、 スマート アラートのチュートリアルを参照してください。

cancelLabel?: string;

プロパティ値

string

注釈

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

最小アクセス許可レベル (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

注釈

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

最小アクセス許可レベル (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

注釈

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

最小アクセス許可レベル (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

注釈

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

最小アクセス許可レベル (Outlook): 制限付き

適用される Outlook モード: Compose

重要: エラー メッセージは 500 文字以下にする必要があります。

errorMessageMarkdown

完了したメソッドを使用してイベント ハンドラーの完了を通知し、そのallowEvent プロパティを false に設定すると、このプロパティはユーザーに表示されるエラー メッセージを設定します。 エラー メッセージは Markdown を使用して書式設定されます。 例については、 スマート アラートのチュートリアルを参照してください。

errorMessageMarkdown?: string;

プロパティ値

string

注釈

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

最小アクセス許可レベル (Outlook): 制限付き

適用される Outlook モード: Compose

重要

  • 書式設定されたエラー メッセージは 500 文字以下にする必要があります。

  • サポートされている Markdown 要素のガイダンスについては、「Markdown を使用してダイアログ メッセージを書式設定するための制限事項」を参照してください。

  • errorMessageMarkdown プロパティを使用してダイアログ メッセージを書式設定する場合は、errorMessage プロパティを使用してプレーンテキスト バージョンのメッセージを追加することをお勧めします。 これにより、Markdown をサポートしていない Outlook クライアントにメッセージが正しく表示されます。

sendModeOverride

完了したメソッドを使用してイベント ハンドラーの完了を通知し、そのallowEvent プロパティを false に設定すると、このプロパティは実行時にマニフェストで指定された送信モード オプションをオーバーライドします。

例については、 スマート アラートのチュートリアルを参照してください。

sendModeOverride?: MailboxEnums.SendModeOverride | string;

プロパティ値

注釈

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

最小アクセス許可レベル (Outlook): 制限付き

適用される Outlook モード: Compose

重要: 現在、 sendModeOverrideプロンプト ユーザー オプションにのみ設定できます。