この記事では、GAS(Google Apps Script)を使って、フォームを作成して行きます。
お世話になった記事は、いつも隣にITのお仕事さんの、
です。
前回のおさらいをします。
このフォームを、
![](https://nekosiestr77.xsrv.jp/wp-content/uploads/2022/01/riha4-1-1024x360.jpg)
ドライブの指定されたフォルダ「ねこねこフォーム作成練習」に保存するコードと実行結果です。
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);
}
![](https://nekosiestr77.xsrv.jp/wp-content/uploads/2021/06/4-11.jpg)
今回のは、下記のねこあつめの「なまえ(きっどさん)」と、「あそんだグッズ」をフォームで入力する、テキストアイテムを追加して行きます。
![](https://nekosiestr77.xsrv.jp/wp-content/uploads/2021/06/IMG_4998.-676x1024.jpg)
「おなまえ」は入力必須、「グッズ」は任意にします。
「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('あそんだグッズ');
}
このコードを実行すると、まずこの様なフォームの雛形が出来ます。
![](https://nekosiestr77.xsrv.jp/wp-content/uploads/2022/01/作成したフォームの原型-1024x742.jpg)
このプレビューを見てみます。
右上の所の「目のマーク」を押します。
![](https://nekosiestr77.xsrv.jp/wp-content/uploads/2022/01/フォームのプレビュー.jpg)
![](https://nekosiestr77.xsrv.jp/wp-content/uploads/2022/01/フォームのプレビュー画面-1024x975.jpg)
「おなまえ」のところ、「*」付いていますね。
フォームが作成されたので、下記のように入力して送信します。
![](https://nekosiestr77.xsrv.jp/wp-content/uploads/2022/01/フォームのプレビュー入力-1024x968.jpg)
送信して、先ほどの画面に戻ると、
![](https://nekosiestr77.xsrv.jp/wp-content/uploads/2022/01/フォームの解答画面-1024x866.jpg)
このように、回答が1件集まったことの通知が来ています。
この画面の右側上を見ると、
![](https://nekosiestr77.xsrv.jp/wp-content/uploads/2022/01/フォームの回答表示-1024x771.jpg)
スプレッドシートのマークが表示されますので、押してみます。
![](https://nekosiestr77.xsrv.jp/wp-content/uploads/2022/01/フォームの回答スプ作成-1024x477.jpg)
新しいスプレッドシートを選択して、「作成」ボタンを押します。
![](https://nekosiestr77.xsrv.jp/wp-content/uploads/2022/01/フォームの回答スプです。-1024x442.jpg)
先ほどのデータがスプレッドシートに蓄積されました。
ご精読ありがとうございました。
■参考文献の紹介■
初めてGASを学ぶ方向け。
スプレッドシートの基本的な使い方からGASのベースとなるJavaScriptの基礎文法、GASでの初歩的なプログラミングを学べます。
GASに少し慣れて来たら、基礎固めとリファレンスとしてこの本を通してじっくり学べます。