libro
www.tuyano.com
Google Apps Scriptプログラミング [中級編]

FormAppによるフォームの集計と作成 (4/5)

作成:2013-06-23 09:42
更新:2013-06-23 09:46

■Formに質問を作成する

続いて、作成したFormに、質問を追加する方法についてです。これは、質問の種類ごとに追加用のメソッドが用意されているので、どういう種類の質問を作るか?をまず考えて操作しないといけません。


・テキストフィールドの質問を作る
変数= 《Form》.addTextItem();
テキストを入力する質問は、TextItemというオブジェクトを追加して作ります。これはaddTextItemメソッドを呼び出します。これでFormに新たにTextItemが作成されます。返値は、作ったTextItemになります。


・チェックボックスの質問を作る
変数 = 《Form》.addCheckboxItem();
チェックボックスの質問は、CheckboxItemとして用意されます。これはaddCheckboxItemで作成されます。このCheckboxItemも返値で返されます。


・ラジオボタンの質問を作る
変数 = 《Form》.addMultipleChoiceItem();
ラジオボタンは、MultipleChoiceItemというオブジェクトとして用意されます。これはaddMultipleChoiceItemで作成されます。


・リストの質問を作る
変数 = 《Form》.addListItem();
リストは、ListItemというオブジェクトになります。addListItemで作成することができます。


・質問のテキストを設定する
《質問オブジェクト》 .setTitle( 質問テキスト );
作成した質問のオブジェクトは、まだ何も設定されていないので、まずsetTitleで質問のテキストを設定しておきます。


・表示項目を設定する
《質問オブジェクト》 .setChoiceValues( [String配列] );
チェックボックス、ラジオボタン、リストといったものは、いくつかの項目を表示します。これらの項目を設定するのがsetChoiceValuesです。引数には、表示する項目のテキストを配列にまとめたものを指定します。


――この他にも質問の項目の種類はありますが、とりあえずこれぐらい覚えておけば、ごく基本的なフォームは作れるようになるでしょう。下に簡単なフォーム作成のスクリプトを挙げておきます。実行すると、入力フィールド、リスト、ラジオボタン、チェックボックスといった種類の質問が表示されたフォームが自動生成されます。

FormAppには、この他にも細々としたオブジェクトやメソッドがたくさん用意されています。基本的な使い方がわかったら、それぞれでFormAppについて調べてみると面白いでしょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

function makeForm(){
  var form = FormApp.create("ネコフォーム");
  form.setTitle("ニャンケート");
  var sheet = SpreadsheetApp.create("ネコフォーム用シート");
  form.setDestination(FormApp.DestinationType.SPREADSHEET, sheet.getId());
  var item0 = form.addListItem();
  item0.setTitle("好きなペットは?");
  item0.setChoiceValues(["ネコ","猫","Cat"]);
  var item1 = form.addMultipleChoiceItem();
  item1.setTitle("もちろん、ネコ好きですよね?");
  item1.setChoiceValues(["はい","もちろん"]);
  var item2 = form.addCheckboxItem();
  item2.setTitle("どんなネコが好きですか?");
  item2.setChoiceValues(["アメショー","ミケ","デブネコ"]);
  var item3 = form.addTextItem();
  item3.setTitle("ネコについて一言。");
}

※関連コンテンツ

「Google Apps Scriptプログラミング [中級編]」に戻る