次の方法で共有


Office.SmartAlertsEventCompletedOptions interface

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

注釈

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

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

適用できる Outlook モード: 新規作成

// 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 モード: 新規作成

cancelLabel

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

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

cancelLabel?: string;

プロパティ値

string

注釈

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

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

適用できる Outlook モード: 新規作成

commandId

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

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

commandId?: string;

プロパティ値

string

注釈

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

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

適用できる Outlook モード: 新規作成

重要:

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 モード: 新規作成

重要:

  • 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 モード: 新規作成

sendModeOverride

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

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

sendModeOverride?: MailboxEnums.SendModeOverride | string;

プロパティ値

注釈

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

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

適用できる Outlook モード: 新規作成

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