<ねこフォーム3>GASで作成したフォームに「ねこあつめ」の「おなまえ」と「あそんだグッズ」を追加する

この記事では、GAS(Google Apps Script)を使って、フォームを作成して行きます。
お世話になった記事は、いつも隣にITのお仕事さんの、

GASでGoogleフォームに記述式の質問を追加する方法

です。

前回のおさらいをします。

このフォームを、

ドライブの指定されたフォルダ「ねこねこフォーム作成練習」に保存するコードと実行結果です。

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に少し慣れて来たら、基礎固めとリファレンスとしてこの本を通してじっくり学べます。

サイトマップはこちらから

GASサンプル集に戻る
メインメニューに戻る
これからプログラミングを始める方へ
基本情報技術者へ
自己紹介

←前に戻るにゃっ!          次行くにゃん(=^x^=)→

投稿者: nekosiestr

プログラミング学習中のロスジェネ(就職氷河期世代)の発達障害者です。 宜しくお願いします。 趣味で写真を撮っています。 プログラミングは、GAS/HTML/CSS/JavaScript/jQuery/PHP、 発達障害は、自閉症スペクトラムASD/ADHD、その他双極性障害やHSP(5人に1人の繊細さん)などの生きづらさを抱えておりますが、それでも楽しく生きて行きたいです!! 写真は、以前はコンパクトデジカメ、現在は、OLYMPUSミラーレス一眼を使っています。