スクリプトによる追加を許可する Google アプリのユーザー インターフェース環境のインスタンス メニュー、ダイアログ、サイドバーなどの 機能を作成できますスクリプトがやり取りできるのは、 開いているエディタの現在のインスタンス(スクリプトがエディタに対してコンテナバインドされている場合のみ)
// Display a dialog box with a title, message, input field, and "Yes" and "No" buttons. The // user can also close the dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.prompt('Getting to know you', 'May I know your name?', ui.ButtonSet.YES_NO); // Process the user's response. if (response.getSelectedButton() == ui.Button.YES) { Logger.log('The user\'s name is %s.', response.getResponseText()); } else if (response.getSelectedButton() == ui.Button.NO) { Logger.log('The user didn\'t want to provide a name.'); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); }
プロパティ
プロパティ | タイプ | 説明 |
---|---|---|
Button | Button | アラートまたは PromptResponse.getSelectedButton() によって返される、事前に決定されたローカライズされたダイアログ ボタンを表す列挙型。
ユーザーがダイアログでクリックしたボタン |
ButtonSet | ButtonSet | ローカライズされた、1 つ以上のダイアログ ボタンのセットを表す列挙型。 アラートまたはプロンプトに追加した |
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
alert(prompt) | Button | ユーザーのエディタでダイアログ ボックスを開き、指定されたメッセージと「OK」を表示します。] ボタンを離します。 |
alert(prompt, buttons) | Button | ユーザーのエディタでダイアログ ボックスを開き、指定されたメッセージとボタンセットを表示します。 |
alert(title, prompt, buttons) | Button | 指定されたタイトル、メッセージ、ボタンセットを含むダイアログ ボックスをユーザーのエディタで開きます。 |
createAddonMenu() | Menu | エディタの [拡張機能] メニューにサブメニューを挿入するために使用できるビルダーを作成します。 |
createMenu(caption) | Menu | エディタのユーザー インターフェースにメニューを追加するために使用できるビルダーを作成します。 |
prompt(prompt) | PromptResponse | ユーザーのエディタで入力ダイアログ ボックスを開き、指定されたメッセージと「OK」を表示します。] ボタンを離します。 |
prompt(prompt, buttons) | PromptResponse | 指定されたメッセージとボタンセットを含む入力ダイアログ ボックスをユーザーのエディタで開きます。 |
prompt(title, prompt, buttons) | PromptResponse | 指定されたタイトル、メッセージ、一連のテキストを使用して入力ダイアログ ボックスをユーザーのエディタで開きます できます。 |
showModalDialog(userInterface, title) | void | ユーザーのエディタで、カスタムのクライアントサイド コンテンツを含むモーダル ダイアログ ボックスを開きます。 |
showModelessDialog(userInterface, title) | void | ユーザーのエディタで、カスタム クライアント サイド コンテンツを含むモードレス ダイアログ ボックスを開きます。 |
showSidebar(userInterface) | void | ユーザーのエディタで、カスタムのクライアントサイド コンテンツを含むサイドバーを開きます。 |
詳細なドキュメント
alert(prompt)
ユーザーのエディタでダイアログ ボックスを開き、指定されたメッセージと「OK」を表示します。] ボタンを離します。この方法は
ダイアログが開いている間、サーバー側のスクリプトを一時停止します。スクリプトは、ユーザーが指定した
ダイアログは閉じますが、Jdbc
接続と LockService
ロックは、
停止期間中も保持されます。詳しくは、ダイアログとサイドバーに関するガイドをご覧ください。
// Display "Hello, world" in a dialog box with an "OK" button. The user can also close the // dialog by clicking the close button in its title bar. SpreadsheetApp.getUi().alert('Hello, world');
パラメータ
名前 | 型 | 説明 |
---|---|---|
prompt | String | ダイアログ ボックスに表示するメッセージ。 |
戻る
Button
- ユーザーがクリックしたボタン。
alert(prompt, buttons)
ユーザーのエディタでダイアログ ボックスを開き、指定されたメッセージとボタンセットを表示します。この方法は
ダイアログが開いている間、サーバー側のスクリプトを一時停止します。スクリプトは、ユーザーが指定した
ダイアログは閉じますが、Jdbc
接続と LockService
ロックは、
停止期間中も保持されます。詳しくは、ダイアログとサイドバーに関するガイドをご覧ください。
// Display a dialog box with a message and "Yes" and "No" buttons. The user can also close the // dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.alert('Are you sure you want to continue?', ui.ButtonSet.YES_NO); // Process the user's response. if (response == ui.Button.YES) { Logger.log('The user clicked "Yes."'); } else { Logger.log('The user clicked "No" or the close button in the dialog\'s title bar.'); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
prompt | String | ダイアログ ボックスに表示するメッセージ。 |
buttons | ButtonSet | ダイアログ ボックスに表示するように設定されているボタン。 |
戻る
Button
- ユーザーがクリックしたボタン。
alert(title, prompt, buttons)
指定されたタイトル、メッセージ、ボタンセットを含むダイアログ ボックスをユーザーのエディタで開きます。この
メソッドは、ダイアログが開いている間、サーバー側スクリプトを一時停止します。スクリプトは
ユーザーがダイアログを閉じたが、Jdbc
接続と LockService
ロックは、
停止期間中も保持されます。詳しくは、ダイアログとサイドバーに関するガイドをご覧ください。
// Display a dialog box with a title, message, and "Yes" and "No" buttons. The user can also // close the dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.alert('Confirm', 'Are you sure you want to continue?', ui.ButtonSet.YES_NO); // Process the user's response. if (response == ui.Button.YES) { Logger.log('The user clicked "Yes."'); } else { Logger.log('The user clicked "No" or the close button in the dialog\'s title bar.'); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
title | String | ダイアログ ボックスの上部に表示するタイトル。 |
prompt | String | ダイアログ ボックスに表示するメッセージ。 |
buttons | ButtonSet | ダイアログ ボックスに表示するように設定されているボタン。 |
戻る
Button
- ユーザーがクリックしたボタン。
createAddonMenu()
エディタの [拡張機能] メニューにサブメニューを挿入するために使用できるビルダーを作成します。「
Menu.addToUi()
が呼び出されるまでメニューは実際には更新されません。スクリプトが実行されている場合
アドオンの場合、サブメニュー名がウェブストアのアドオンの名前と一致しているスクリプトがドキュメントに直接バインドされている場合は、サブメニュー名
スクリプトの名前と一致します。詳細については、メニューに関するガイドをご覧ください。
// Add an item to the Add-on menu, under a sub-menu whose name is set automatically. function onOpen(e) { SpreadsheetApp.getUi() .createAddonMenu() .addItem('Show', 'showSidebar') .addToUi(); }
戻る
Menu
- 新しいメニュー ビルダー。
createMenu(caption)
エディタのユーザー インターフェースにメニューを追加するために使用できるビルダーを作成します。メニューが
実際には Menu.addToUi()
が呼び出されるまで追加されます。詳細については、メニューに関するガイドをご覧ください。最上位メニューのラベルは
見出しを大文字にします(主要な単語はすべて大文字にします)。ただし、サブメニューのラベルは
最初の単語のみを大文字にします。スクリプトがアドオンとして公開されている場合、caption
パラメータは無視され、
メニューが拡張機能メニューのサブメニューとして追加され、createAddonMenu()
と同等になります。
// Add a custom menu to the active document, including a separator and a sub-menu. function onOpen(e) { SpreadsheetApp.getUi() .createMenu('My Menu') .addItem('My menu item', 'myFunction') .addSeparator() .addSubMenu(SpreadsheetApp.getUi().createMenu('My sub-menu') .addItem('One sub-menu item', 'mySecondFunction') .addItem('Another sub-menu item', 'myThirdFunction')) .addToUi(); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
caption | String | メニューのラベル。トップレベルのメニューは主要な単語をすべて大文字で表します。 サブメニューの最初の単語だけを大文字にできます。 |
戻る
Menu
- 新しいメニュー ビルダー。
prompt(prompt)
ユーザーのエディタで入力ダイアログ ボックスを開き、指定されたメッセージと「OK」を表示します。] ボタンを離します。この
メソッドは、ダイアログが開いている間、サーバー側スクリプトを一時停止します。スクリプトは
ユーザーがダイアログを閉じたが、Jdbc
接続と LockService
ロックは、
停止期間中も保持されます。詳しくは、ダイアログとサイドバーに関するガイドをご覧ください。
// Display a dialog box with a message, input field, and an "OK" button. The user can also // close the dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.prompt('Enter your name:'); // Process the user's response. if (response.getSelectedButton() == ui.Button.OK) { Logger.log('The user\'s name is %s.', response.getResponseText()); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
prompt | String | ダイアログ ボックスに表示するメッセージ。 |
戻る
PromptResponse
- ユーザーの応答の表現。
prompt(prompt, buttons)
指定されたメッセージとボタンセットを含む入力ダイアログ ボックスをユーザーのエディタで開きます。この
メソッドは、ダイアログが開いている間、サーバー側スクリプトを一時停止します。スクリプトは
ユーザーがダイアログを閉じたが、Jdbc
接続と LockService
ロックは、
停止期間中も保持されます。詳しくは、ダイアログとサイドバーに関するガイドをご覧ください。
// Display a dialog box with a message, input field, and "Yes" and "No" buttons. The user can // also close the dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.prompt('May I know your name?', ui.ButtonSet.YES_NO); // Process the user's response. if (response.getSelectedButton() == ui.Button.YES) { Logger.log('The user\'s name is %s.', response.getResponseText()); } else if (response.getSelectedButton() == ui.Button.NO) { Logger.log('The user didn\'t want to provide a name.'); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
prompt | String | ダイアログ ボックスに表示するメッセージ。 |
buttons | ButtonSet | ダイアログ ボックスに表示するように設定されているボタン。 |
戻る
PromptResponse
- ユーザーの応答の表現。
prompt(title, prompt, buttons)
指定されたタイトル、メッセージ、一連のテキストを使用して入力ダイアログ ボックスをユーザーのエディタで開きます
できます。このメソッドは、ダイアログが開いている間、サーバー側スクリプトを一時停止します。スクリプト
ユーザーがダイアログを閉じた後に再開されるが、Jdbc
接続と LockService
ロックはセッション全体で維持されない
停止します。詳しくは、こちらのガイド
ダイアログとサイドバーを利用できます。
// Display a dialog box with a title, message, input field, and "Yes" and "No" buttons. The // user can also close the dialog by clicking the close button in its title bar. var ui = SpreadsheetApp.getUi(); var response = ui.prompt('Getting to know you', 'May I know your name?', ui.ButtonSet.YES_NO); // Process the user's response. if (response.getSelectedButton() == ui.Button.YES) { Logger.log('The user\'s name is %s.', response.getResponseText()); } else if (response.getSelectedButton() == ui.Button.NO) { Logger.log('The user didn\'t want to provide a name.'); } else { Logger.log('The user clicked the close button in the dialog\'s title bar.'); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
title | String | ダイアログ ボックスの上部に表示するタイトル。 |
prompt | String | ダイアログ ボックスに表示するメッセージ。 |
buttons | ButtonSet | ダイアログ ボックスに表示するように設定されているボタン。 |
戻る
PromptResponse
- ユーザーの応答の表現。
showModalDialog(userInterface, title)
ユーザーのエディタで、カスタムのクライアントサイド コンテンツを含むモーダル ダイアログ ボックスを開きます。この方法では、
しないでください。外部サーバーとの通信は
サーバーサイド スクリプトを実行する場合、クライアントサイド コンポーネントは HtmlService
に対して google.script
API を使用して非同期コールバックを行う必要があります。ダイアログを閉じる
を呼び出します。
HtmlService
ウェブのクライアントサイドの google.script.host.close()
。詳しくは、ダイアログと
できます。
モーダル ダイアログにより、ユーザーはダイアログ以外の操作を行えなくなります。方法 それに対して、モードレス ダイアログとサイドバーを使用すると、ユーザーはエディタを操作できます。ほとんどの場合、 モードレス ダイアログよりも、モーダル ダイアログやサイドバーの方が適しています。
// Display a modal dialog box with custom HtmlService content. var htmlOutput = HtmlService .createHtmlOutput('<p>A change of speed, a change of style...</p>') .setWidth(250) .setHeight(300); SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'My add-on');
パラメータ
名前 | 型 | 説明 |
---|---|---|
userInterface | Object | HtmlOutput
表示するインターフェースを表します。 |
title | String | ダイアログのタイトル。に対して setTitle() を呼び出して設定したタイトルをオーバーライド
userInterface オブジェクト。 |
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/script.container.ui
showModelessDialog(userInterface, title)
ユーザーのエディタで、カスタム クライアント サイド コンテンツを含むモードレス ダイアログ ボックスを開きます。この方法は
ダイアログが開いている間、サーバーサイド スクリプトは一時停止しません。相手とやり取りするには
サーバーサイド スクリプトの場合、クライアントサイド コンポーネントは HtmlService
に対して google.script
API を使用して非同期コールバックを行う必要があります。ダイアログを閉じる
を呼び出します。
HtmlService
ウェブのクライアントサイドの google.script.host.close()
。詳しくは、ダイアログと
できます。
モードレス ダイアログを使用すると、ユーザーはダイアログの背後にあるエディタを操作できます。一方 モーダル ダイアログではサポートされていません。ほとんどの場合、モーダルには ダイアログやサイドバーの方が、モードレス ダイアログよりも適しています。
// Display a modeless dialog box with custom HtmlService content. var htmlOutput = HtmlService .createHtmlOutput('<p>A change of speed, a change of style...</p>') .setWidth(250) .setHeight(300); SpreadsheetApp.getUi().showModelessDialog(htmlOutput, 'My add-on');
パラメータ
名前 | 型 | 説明 |
---|---|---|
userInterface | Object | HtmlOutput
表示するインターフェースを表します。 |
title | String | ダイアログのタイトル。に対して setTitle() を呼び出して設定したタイトルをオーバーライド
userInterface オブジェクト。 |
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/script.container.ui
showSidebar(userInterface)
ユーザーのエディタで、カスタムのクライアントサイド コンテンツを含むサイドバーを開きます。この方法では、
しないでください。外部サーバーとの通信は
サーバーサイド スクリプトを実行する場合、クライアントサイド コンポーネントは HtmlService
に対して google.script
API を使用して非同期コールバックを行う必要があります。サイドバーを閉じる
を呼び出します。
HtmlService
ウェブのクライアントサイドの google.script.host.close()
。詳しくは、ダイアログと
できます。
このサイドバーは、環境で 右から左に表記する言語の場合はエディタの左側に表示されます。すべて スクリプトで表示されるサイドバーの幅は 300 ピクセルです。
// Display a sidebar with custom HtmlService content. var htmlOutput = HtmlService .createHtmlOutput('<p>A change of speed, a change of style...</p>') .setTitle('My add-on'); SpreadsheetApp.getUi().showSidebar(htmlOutput);
パラメータ
名前 | 型 | 説明 |
---|---|---|
userInterface | Object | HtmlOutput
表示するインターフェースを表します。 |
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。
-
https://www.googleapis.com/auth/script.container.ui