![見出し画像](https://assets.st-note.com/production/uploads/images/45856490/rectangle_large_type_2_ca033386189589a8dff1f3c290b5cdca.jpg?width=1200)
【GAS】Googleスプレッドシートでプロンプトを表示する
こんにちは!KCompany代表のケータです!
本日は【そのまま使える】Google Classroom APIを使ってGoogleクラスルームの情報を取得しスプレッドシートに書き出すGASの中でも使いました、プロンプトについてです。
UiクラスとPromptメソッド
プロンプトを表示するには、UiクラスにあるPromptメソッドを用います。
今回はタイトルとプロンプト内のメッセージ、そしてボタンを引数にしたこちらのメソッドを使いました。
ButtonSet型を指定して、OKだけだったり、YES/NOとかにすることができます。
実際のコード
下記のようにしてみました。
createAnnouncementsList関数で入力されたIDを元にストリーム情報を取得してスプレッドシートへの書き込みを行っています。
// クラスルームIDを入力させる
function inputClassroomId(){
const ui = SpreadsheetApp.getUi();
// 表示メッセージ
const title = 'クラスルームID入力';
const prompt = 'IDを入力してください';
const resultText1 = 'Googleクラスルームのストリーム情報の取得をしました';
const alertText1 = '1以上の整数値を入力してください';
// プロンプト表示&入力受付
const response = ui.prompt(title, prompt, ui.ButtonSet.OK_CANCEL);
const id = Number(response.getResponseText());
// 入力された値が数値で1以上なら結果を表示する
switch(response.getSelectedButton()){
case ui.Button.OK:
if((Number.isInteger(id) === true) && (id > 0)){
createAnnouncementsList(id); // ストリーム情報取得
SpreadsheetApp.getUi().alert(resultText1);
}else{
SpreadsheetApp.getUi().alert(alertText1);
}
break;
case ui.Button.CANCEL:
Logger.log('番号を取得できませんでした');
break;
case ui.Button.CLOSE:
Logger.log('閉じるボタンで閉じられました');
break;
}
}
Uiクラスを使うことで、色々とUIフレンドリーなGASを作れるなと改めてライブラリを眺めて思いました。
Uiクラスのメソッドを色々試した【そのまま使える】シリーズのGASを公開するのもよいかなと思いました。近いうちにやりたいと思います!
本日は以上になります!それでは。
【お仕事のご依頼について】
こちらの記事に記載した内容以外にも、Google Apps Script開発やGoogle Workspaceを活用したデジタル化推進のお仕事を行っています。【GAS】そのまま使えるシリーズのカスタマイズのご相談ももちろん大丈夫です。
ちょっとしたお困りごとでも、こちらのサイトのお問い合わせフォームからご連絡いただければ、折り返しご連絡いたします。
よろしければサポートをお願いします!いただいたサポートは、サービス開発・改善のために使わせていただきます。主に書籍代や勉強会の参加費用などを想定しています。よろしくお願いします。