この記事では、GAS(Google Apps Script)を使って、フォームを作成して行きます。
お世話になった記事は、いつも隣にITのお仕事さんの、
です。
前回のおさらいをします。
このフォームを、
ドライブの指定されたフォルダ「ねこねこフォーム作成練習」に保存するコードと実行結果です。
function myFunction() {
//SpreadsheetAppから現在のスプレッドシートにアクセス
const ss=SpreadsheetApp.getActiveSpreadsheet();
//シート名「イベント概要」のデータを配列として取得する
const values=ss.getSheetByName('イベント概要').getDataRange().getValues();
const formTitle=values[0][1];//タイトル
const formDescription=values[1][1];//概要
//フォームを作成
const form=FormApp.create(formTitle);
//←ここでプロパティストアに格納したFOLDER_IDを使って、指定のフォルダにフォームを作成する
const id=PropertiesService.getScriptProperties().getProperty('FOLDER_ID');//idにFOLDER_IDを格納する
const formFile=DriveApp.getFileById(form.getId());//作成したフォームのIDをformFileに格納する
DriveApp.getFolderById(id).addFile(formFile);//指定のフォルダにフォームを格納する
DriveApp.getRootFolder().removeFile(formFile);//マイドライブに作成されたフォームを削除する
//フォームの説明を作成
form.setDescription(formDescription);
}
今回のは、下記のねこあつめの「なまえ(きっどさん)」と、「あそんだグッズ」をフォームで入力する、テキストアイテムを追加して行きます。
「おなまえ」は入力必須、「グッズ」は任意にします。
「add」は色々なプログラミング言語で「追加」の意味で使われていたのを学びました。
前回のコードに追加するコードは下記2行です。
//テキストアイテムを追加する
form.addTextItem().setTitle('おなまえ').setRequired(true);//trueにすることで、入力必須にしている。
form.addTextItem().setTitle('あそんだグッズ');
簡単にコードの説明を書きますと、addTextItem()でテキスト入力が出来る所を作れて、setTitleで「おなまえ」など、入力する所に名前を付けることが出来ます。
また、setRequired(true)を追記すると、入力必須になります。
上記のコードを追記した、今回のコードです。
function myFunction() {
//SpreadsheetAppから現在のスプレッドシートにアクセス
const ss=SpreadsheetApp.getActiveSpreadsheet();
//シート名「イベント概要」のデータを配列として取得する
const values=ss.getSheetByName('イベント概要').getDataRange().getValues();
const formTitle=values[0][1];//タイトル
const formDescription=values[1][1];//概要
//フォームを作成
const form=FormApp.create(formTitle);
//ここでプロパティストアに格納したFOLDER_IDを使って、指定のフォルダにフォームを作成する
const id=PropertiesService.getScriptProperties().getProperty('FOLDER_ID');//idにFOLDER_IDを格納する
const formFile=DriveApp.getFileById(form.getId());//作成したフォームのIDをformFileに格納する
DriveApp.getFolderById(id).addFile(formFile);//指定のフォルダにフォームを格納する
DriveApp.getRootFolder().removeFile(formFile);//マイドライブに作成されたフォームを削除する
//フォームの説明を作成
form.setDescription(formDescription);
//←テキストアイテムを追加する
form.addTextItem().setTitle('おなまえ').setRequired(true);//trueにすることで、入力必須にしている。
form.addTextItem().setTitle('あそんだグッズ');
}
このコードを実行すると、まずこの様なフォームの雛形が出来ます。
このプレビューを見てみます。
右上の所の「目のマーク」を押します。
「おなまえ」のところ、「*」付いていますね。
フォームが作成されたので、下記のように入力して送信します。
送信して、先ほどの画面に戻ると、
このように、回答が1件集まったことの通知が来ています。
この画面の右側上を見ると、
スプレッドシートのマークが表示されますので、押してみます。
新しいスプレッドシートを選択して、「作成」ボタンを押します。
先ほどのデータがスプレッドシートに蓄積されました。
ご精読ありがとうございました。
■参考文献の紹介■
初めてGASを学ぶ方向け。
スプレッドシートの基本的な使い方からGASのベースとなるJavaScriptの基礎文法、GASでの初歩的なプログラミングを学べます。
GASに少し慣れて来たら、基礎固めとリファレンスとしてこの本を通してじっくり学べます。