次の方法で共有


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 に設定すると、ユーザーに表示されるエラー メッセージが設定されます。 例については、 スマート アラートのチュートリアルを参照してください。

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

commandId

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

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

commandId?: string;

プロパティ値

string

注釈

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

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

適用される Outlook モード: Compose

重要:

commandId値は、アドインのマニフェストで指定された作業ウィンドウまたは関数 ID と一致する必要があります。 マークアップは、アドインで使用するマニフェストの種類によって異なります。

  • アドイン専用マニフェスト: 作業ウィンドウまたは関数を表す Control 要素のid属性。

  • Microsoft 365 の統合マニフェスト: "controls" 配列の作業ウィンドウまたは関数コマンドの "id" プロパティ。

event.completed呼び出しで contextData オプションを指定する場合は、作業ウィンドウまたは関数 ID も commandId オプションに割り当てる必要があります。 それ以外の場合、 contextData に割り当てられた JSON データは無視されます。

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 プロパティの値を取得するには、作業ウィンドウの JavaScript 実装で Office.context.mailbox.item.getInitializationContextAsync を呼び出す必要があります。 JSON.stringify()を使用して JSON 文字列を作成し、contextData プロパティに割り当てる場合は、取得後に JSON.parse() を使用して文字列を解析する必要があります。

errorMessage

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

errorMessage?: string;

プロパティ値

string

注釈

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

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

適用される Outlook モード: Compose

sendModeOverride

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

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

sendModeOverride?: MailboxEnums.SendModeOverride | string;

プロパティ値

注釈

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

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

適用される Outlook モード: Compose

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