次の方法で共有


Office.UI interface

Office アドインでダイアログ ボックスなどの UI コンポーネントを作成および操作するためのオブジェクトとメソッドを提供します。

ダイアログ ボックスを構成する方法のガイダンスについては、「 Office アドインでダイアログ API を使用する」を参照してください。

注釈

// Get an Office.UI object and use it to open a dialog with a specified size. 
const uiContext = Office.context.ui;
uiContext.displayDialogAsync("https://www.contoso.com/myDialog.html", { height: 30, width: 20 });

メソッド

addHandlerAsync(eventType, handler, options, callback)

指定したイベント型を使用して、オブジェクトにイベント ハンドラーを追加します。

addHandlerAsync(eventType, handler, callback)

指定したイベント型を使用して、オブジェクトにイベント ハンドラーを追加します。

closeContainer()

JavaScript が実行されている UI コンテナーを閉じます。

displayDialogAsync(startAddress, options, callback)

ユーザーから情報を表示または収集したり、Web ナビゲーションを容易にしたりするためのダイアログを表示します。

displayDialogAsync(startAddress, callback)

ユーザーから情報を表示または収集したり、Web ナビゲーションを容易にしたりするためのダイアログを表示します。

messageParent(message, messageOptions)

メッセージをダイアログ ボックスからその親/オープナー ページに配信します。

openBrowserWindow(url)

ブラウザー ウィンドウを開き、指定した URL を読み込みます。

メソッドの詳細

addHandlerAsync(eventType, handler, options, callback)

指定したイベント型を使用して、オブジェクトにイベント ハンドラーを追加します。

addHandlerAsync(eventType: Office.EventType, handler: (result: DialogParentMessageReceivedEventArgs) => void, options: Office.AsyncContextOptions, callback?: (result: AsyncResult<void>) => void): void;

パラメーター

eventType
Office.EventType

追加するイベントの種類を指定します。 これは Office.EventType.DialogParentMessageReceivedする必要があります。

handler

(result: Office.DialogParentMessageReceivedEventArgs) => void

追加するイベント ハンドラー関数。パラメーターは Office.DialogParentMessageReceivedEventArgs 型のみです。

options
Office.AsyncContextOptions

コールバックで使用するために、任意の型のコンテキスト データを変更せずに保持するためのオプションを提供します。

callback

(result: Office.AsyncResult<void>) => void

省略可能。 ハンドラー登録が戻るときに呼び出される関数。パラメーターは Office.AsyncResult 型のみです。

戻り値

void

注釈

要件セット: DialogAPI 1.2

各イベント ハンドラー関数の名前が一意である限り、指定したイベントの種類に対して複数のイベント ハンドラーを追加できます。

addHandlerAsync(eventType, handler, callback)

指定したイベント型を使用して、オブジェクトにイベント ハンドラーを追加します。

addHandlerAsync(eventType: Office.EventType, handler: (result: DialogParentMessageReceivedEventArgs) => void, callback?: (result: AsyncResult<void>) => void): void;

パラメーター

eventType
Office.EventType

追加するイベントの種類を指定します。 これは Office.EventType.DialogParentMessageReceivedする必要があります。

handler

(result: Office.DialogParentMessageReceivedEventArgs) => void

追加するイベント ハンドラー関数。パラメーターは Office.DialogParentMessageReceivedEventArgs 型のみです。

callback

(result: Office.AsyncResult<void>) => void

省略可能。 ハンドラー登録が戻るときに呼び出される関数。パラメーターは Office.AsyncResult 型のみです。

戻り値

void

注釈

要件セット: DialogAPI 1.2

各イベント ハンドラー関数の名前が一意である限り、指定したイベントの種類に対して複数のイベント ハンドラーを追加できます。

// The following example shows how to add an event handler for the DialogParentMessageReceived event.
Office.onReady(() => {
    Office.context.ui.addHandlerAsync(
        Office.EventType.DialogParentMessageReceived,
        onMessageFromParent,
        onRegisterMessageComplete
    );
});

function onMessageFromParent(arg) {
    const messageFromParent = JSON.parse(arg.message);
    document.querySelector('h1').textContent = messageFromParent.name;
}

function onRegisterMessageComplete(asyncResult) {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
        console.log(asyncResult.error.message);
        return;
    }
}

closeContainer()

JavaScript が実行されている UI コンテナーを閉じます。

closeContainer(): void;

戻り値

void

注釈

アプリケーション: Excel、Outlook (最小要件セット: メールボックス 1.5)、PowerPoint、Word

要件セット:

このメソッドの動作は、次のように指定されます。

  • UI なしのコマンド ボタンから呼び出される: 効果なし。 displayDialogAsync によって開かれたダイアログは開いたままになります。

  • 作業ウィンドウから呼び出される: 作業ウィンドウが閉じます。 displayDialogAsync によって開かれたダイアログも閉じます。 作業ウィンドウがピン留めをサポートしていて、ユーザーによってピン留めされた場合、ピン留めされません。

  • モジュール拡張機能から呼び出される: 効果なし。

// The following example shows how to open a browser window to a download page and then close the add-in task pane.
Office.context.ui.openBrowserWindow("https://www.contoso.com/download");
Office.context.ui.closeContainer();

displayDialogAsync(startAddress, options, callback)

ユーザーから情報を表示または収集したり、Web ナビゲーションを容易にしたりするためのダイアログを表示します。

displayDialogAsync(startAddress: string, options?: DialogOptions, callback?: (result: AsyncResult<Dialog>) => void): void;

パラメーター

startAddress

string

ダイアログで開く最初の完全な HTTPS URL を受け入れます。 相対 URL は使用しないでください。

options
Office.DialogOptions

省略可能。 ダイアログ表示を定義するために Office.DialogOptions オブジェクトを受け入れます。

callback

(result: Office.AsyncResult<Office.Dialog>) => void

省略可能。 ダイアログの作成試行を処理するコールバック関数を受け入れます。 成功した場合、AsyncResult.value は Dialog オブジェクトです。

戻り値

void

注釈

アプリケーション: Excel、Outlook、PowerPoint、Word

要件セット:

このメソッドは、Excel、PowerPoint、または Word アドインの DialogApi 要件セットと、Outlook のメールボックス要件セット 1.4 で使用できます。 マニフェストで要件セットを指定する方法の詳細については、アドインのみのマニフェストを使用している場合は、「Office アプリケーションと API の要件を指定する」を参照してください。 Microsoft 365 の統合マニフェストを使用している場合は、「Office アドインと Microsoft 365 の統合アプリ マニフェスト」を参照してください。

重要:

  • 最初のページは、親ページ (startAddress パラメーター) と同じドメイン上にある必要があります。 初期ページが読み込まれた後、他のドメインに移動できます。

  • Office.context.ui.messageParentを呼び出すページは、親ページと同じドメインにも存在する必要があります。

  • Office Dialog API のルール、制限事項、ベスト プラクティスについては、「Office ダイアログ API の ベスト プラクティスとルール」を参照してください。

  • エラーとその処理方法については、「Office ダイアログ ボックスでエラーとイベントを処理する」を参照してください。

  • Outlook on the webおよび新しい Outlook on Windows では、アドインでダイアログを構成するときに window.name プロパティを設定しないでください。 window.name プロパティは、これらの Outlook クライアントがページ リダイレクト間で機能を維持するために使用されます。

  • displayDialogAsync メソッドに渡されるコールバック関数では、AsyncResult オブジェクトのプロパティを使用して、次の情報を返すことができます。

プロパティ 使用
AsyncResult.value Dialog オブジェクトにアクセスします。
AsyncResult.status 操作の成功または失敗を判断します。
AsyncResult.error 操作が失敗した場合、エラーに関する情報を提供する Error オブジェクトにアクセスします。
AsyncResult.asyncContext asyncContext パラメーターとして渡した場合は、ユーザー定義のオブジェクトまたは値にアクセスします。

// The following example shows how to open a dialog with a specified size. It also shows
// how to register a function to handle the message when Office.UI.messageParent() is called
// in the dialog. The implementation of the processMessage() function is omitted.

Office.context.ui.displayDialogAsync("https://www.contoso.com/myDialog.html", { height: 30, width: 20 },
    (asyncResult) => {
        const dialog = asyncResult.value;
        dialog.addEventHandler(Office.EventType.DialogMessageReceived, (arg) => {
            dialog.close();
            processMessage(arg);
        });
    }
);

// The following example does the same thing in TypeScript.

Office.context.ui.displayDialogAsync("https://www.contoso.com/myDialog.html", { height: 30, width: 20 },
    (asyncResult: Office.AsyncResult) => {
        const dialog: Office.Dialog = asyncResult.value;
        dialog.addEventHandler(Office.EventType.DialogMessageReceived, (arg: string) => {
            dialog.close();
            processMessage(arg);
        });
    }
);

displayDialogAsync(startAddress, callback)

ユーザーから情報を表示または収集したり、Web ナビゲーションを容易にしたりするためのダイアログを表示します。

displayDialogAsync(startAddress: string, callback?: (result: AsyncResult<Dialog>) => void): void;

パラメーター

startAddress

string

ダイアログで開く最初の完全な HTTPS URL を受け入れます。 相対 URL は使用しないでください。

callback

(result: Office.AsyncResult<Office.Dialog>) => void

省略可能。 ダイアログの作成試行を処理するコールバック関数を受け入れます。 成功した場合、AsyncResult.value は Dialog オブジェクトです。

戻り値

void

注釈

アプリケーション: Excel、Outlook、PowerPoint、Word

要件セット:

このメソッドは、Excel、PowerPoint、または Word アドインの DialogApi 要件セットと、Outlook のメールボックス要件セット 1.4 で使用できます。 マニフェストで要件セットを指定する方法の詳細については、アドインのみのマニフェストを使用している場合は、「Office アプリケーションと API の要件を指定する」を参照してください。 Microsoft 365 の統合マニフェストを使用している場合は、「Office アドインと Microsoft 365 の統合アプリ マニフェスト」を参照してください。

重要:

  • 最初のページは、親ページ (startAddress パラメーター) と同じドメイン上にある必要があります。 初期ページが読み込まれた後、他のドメインに移動できます。

  • Office.context.ui.messageParentを呼び出すページは、親ページと同じドメインにも存在する必要があります。

  • Office Dialog API のルール、制限事項、ベスト プラクティスについては、「Office ダイアログ API の ベスト プラクティスとルール」を参照してください。

  • エラーとその処理方法については、「Office ダイアログ ボックスでエラーとイベントを処理する」を参照してください。

  • Outlook on the webおよび新しい Outlook on Windows では、アドインでダイアログを構成するときに window.name プロパティを設定しないでください。 window.name プロパティは、これらの Outlook クライアントがページ リダイレクト間で機能を維持するために使用されます。

  • displayDialogAsync メソッドに渡されるコールバック関数では、AsyncResult オブジェクトのプロパティを使用して、次の情報を返すことができます。

プロパティ 使用
AsyncResult.value Dialog オブジェクトにアクセスします。
AsyncResult.status 操作の成功または失敗を判断します。
AsyncResult.error 操作が失敗した場合、エラーに関する情報を提供する Error オブジェクトにアクセスします。
AsyncResult.asyncContext asyncContext パラメーターとして渡した場合は、ユーザー定義のオブジェクトまたは値にアクセスします。

messageParent(message, messageOptions)

メッセージをダイアログ ボックスからその親/オープナー ページに配信します。

messageParent(message: string, messageOptions?: DialogMessageOptions): void;

パラメーター

message

string

ダイアログからメッセージを受け付け、アドインに配信します。 JSON や XML を含む文字列にシリアル化できるものは、すべて送信できます。

messageOptions
Office.DialogMessageOptions

省略可能。 メッセージを送信する方法のオプションを提供します。

戻り値

void

注釈

アプリケーション: Excel、Outlook、PowerPoint、Word

要件セット:

// The following example shows how to send a JSON string to the parent. The profile object
// is returned from some website when a user signs into it.
function userProfileSignedIn(profile) {
    const profileMessage = {
        "name": profile.name,
        "email": profile.email,
    };
    Office.context.ui.messageParent(JSON.stringify(profileMessage));
}

openBrowserWindow(url)

ブラウザー ウィンドウを開き、指定した URL を読み込みます。

openBrowserWindow(url: string): void;

パラメーター

url

string

プロトコル (http または https)、ポート番号 (存在する場合) を含む、開く完全な URL。 mailto などの他のプロトコルはサポートされていません。

戻り値

void

注釈

要件セット: OpenBrowserWindowAPI 1.1

// The following example shows how to open a browser window to a download page and then close the add-in task pane.
Office.context.ui.openBrowserWindow("https://www.contoso.com/download");
Office.context.ui.closeContainer();