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 });
メソッド
| add |
指定されたイベントの種類を使用して、オブジェクトにイベント ハンドラーを追加します。 |
| add |
指定されたイベントの種類を使用して、オブジェクトにイベント ハンドラーを追加します。 |
| close |
JavaScript が実行されている UI コンテナーを閉じます。 |
| display |
ユーザーからの情報を表示または収集したり、Web ナビゲーションを容易にしたりするためのダイアログを表示します。 |
| display |
ユーザーからの情報を表示または収集したり、Web ナビゲーションを容易にしたりするためのダイアログを表示します。 |
| message |
メッセージをダイアログ ボックスからその親/オープナー ページに配信します。 |
| open |
ブラウザー ウィンドウを開き、指定した 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 (最小要件セット: Mailbox 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 はダイアログ オブジェクトになります。
返品
void
注釈
アプリケーション: Excel、Outlook、PowerPoint、Word
要件セット:
この方法は、Excel、PowerPoint、または Word アドインの DialogApi 要件セットと、Outlook のメールボックス要件セット 1.4 で使用できます。 マニフェストで要件セットを指定する方法の詳細については、アドインのみのマニフェストを使用している場合は、「 Office アプリケーションと API の要件を指定する」を参照してください。 Microsoft 365 の統合マニフェストを使用している場合は、「 Microsoft 365 の統合アプリ マニフェストを含む Office アドイン」を参照してください。
重要:
最初のページは、親ページと同じドメイン上にある必要があります (startAddress パラメーター)。 初期ページが読み込まれた後、他のドメインに移動できます。
また、
Office.context.ui.messageParentを呼び出すすべてのページは、親ページと同じドメイン上に存在する必要があります。Office ダイアログ API のルール、制限事項、ベスト プラクティスについては、「Office ダイアログ API のベスト プラクティスとルール」を参照してください。
エラーとその処理方法については、「 Office ダイアログ ボックスでエラーとイベントを処理する」を参照してください。
Windows 上の Outlook on the web および新しい Outlook では、アドインでダイアログを構成するときに 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 はダイアログ オブジェクトになります。
返品
void
注釈
アプリケーション: Excel、Outlook、PowerPoint、Word
要件セット:
この方法は、Excel、PowerPoint、または Word アドインの DialogApi 要件セットと、Outlook のメールボックス要件セット 1.4 で使用できます。 マニフェストで要件セットを指定する方法の詳細については、アドインのみのマニフェストを使用している場合は、「 Office アプリケーションと API の要件を指定する」を参照してください。 Microsoft 365 の統合マニフェストを使用している場合は、「 Microsoft 365 の統合アプリ マニフェストを含む Office アドイン」を参照してください。
重要:
最初のページは、親ページと同じドメイン上にある必要があります (startAddress パラメーター)。 初期ページが読み込まれた後、他のドメインに移動できます。
また、
Office.context.ui.messageParentを呼び出すすべてのページは、親ページと同じドメイン上に存在する必要があります。Office ダイアログ API のルール、制限事項、ベスト プラクティスについては、「Office ダイアログ API のベスト プラクティスとルール」を参照してください。
エラーとその処理方法については、「 Office ダイアログ ボックスでエラーとイベントを処理する」を参照してください。
Windows 上の Outlook on the web および新しい Outlook では、アドインでダイアログを構成するときに 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
要件セット:
messageOptionsパラメータを使用する場合は、DialogOrigin 1.1 も必要です。
例
// 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
開く完全な URL。これには、プロトコル (http または https) とポート番号 (存在する場合) が含まれます。 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();