GASでスプレッドシートに入力ボックスを作成するには「prompt(prompt)
」を利用する。
prompt(prompt)
ユーザーのエディタで入力ダイアログ ボックスを開き、所定のメッセージと [OK] ボタンを表示します。このメソッドは、ダイアログが開いている間にサーバー側のスクリプトを停止します。ユーザーがダイアログを閉じるとスクリプトが再開されますが、Jdbc 接続と LockService ロックは停止後も維持されます。詳しくは、ダイアログとサイドバーに関するガイドをご覧ください。
https://developers.google.com/apps-script/reference/base/ui#promptprompt
スプレッドシートに入力ボックスを作成するGAS実行の様子
prompt(prompt) メソッドを利用して、スプレッドシートに入力ボックスを作成するGASを実行してみました。
prompt(prompt)を実行することで、
- ブラウザ上に入力ボックスと判定ボタンを作成する
といった操作が可能です。
スプレッドシートでチェックボックスを全て削除する場合は、以下記事を御覧ください。
参照記事:【GAS】スプレッドシートでチェックボックスを全て削除する
スプレッドシートに入力ボックスを作成するGAS
//ーーpromptメソッドで入力ボックスを作成
function input(){
//SpreadsheetApp.getUiを起動
var ui = SpreadsheetApp.getUi();
//■promptメソッドで名前の入力ボックスを作成する
var res = ui.prompt('名前を決めてください');
//もし入力ボックスのボタンがOKなら
if (res.getSelectedButton() == ui.Button.OK) {
//入力された値を取得して表示する
ui.alert("名前は"+res.getResponseText()+"です");
//Noなら
} else {
//入力されてません
ui.alert("名前はわかりません");
}
}
//ーーinputBoxメソッドで入力ボックスを作成
function input2(){
//■Browser.inputBoxで入力ボックスを作成してYES/Noボタンを表示
let val = Browser.inputBox("あだ名を入力してください",Browser.Buttons.YES_NO);
//変数valが空白でないなら
if(val != ""){
//あだ名を取得
Browser.msgBox("あだ名は"+val+"です");
//valが空白なら
} else {
//未入力の旨を掲載
Browser.msgBox("あだ名はありません");
}
}
prompt(prompt)のパラメータ
PromptResponse - ユーザーのレスポンスを表します。
スプレッドシートに入力ボックスを作成するまとめ
GAS×スプレッドシートに入力ボックスを作成するならprompt(prompt)
メソッドを利用しましょう。
関連記事:【GAS】スプレッドシートの文字の折返しを配列で設定する