function createExperimentForm() { // フォームの作成 var form = FormApp.create('実験参加者属性アンケート'); form.setDescription( '本アンケートは、実験データの統計的な分析(参加者の属性の偏りの確認など)のみに使用します。個人が特定される形で公表されることはありません。\n' + '答えにくい項目は「回答しない」を選んでください。\n' + '※印は必須項目です。' ) .setConfirmationMessage('ご回答ありがとうございました。\n送信が完了しましたので、そのまま実験担当者に「入力終わりました」とお声がけください。');
// --- 1ページ目:基本情報 --- form.addSectionHeaderItem().setTitle('1. 基本情報');
// Q1. 実験ID form.addTextItem() .setTitle('実験ID') .setHelpText('担当者から伝えられた番号を入力してください') .setRequired(true);
// Q2. 性別 form.addMultipleChoiceItem() .setTitle('性別') .setChoiceValues(['男性', '女性', '回答しない']) .setRequired(true);
// 数値入力のバリデーション設定 var numberValidation = FormApp.createTextValidation() .requireNumber() .build();
// Q3. 年齢 form.addTextItem() .setTitle('年齢') .setHelpText('半角数字で入力(単位:歳)') .setValidation(numberValidation) .setRequired(true);
// Q4. 身長 form.addTextItem() .setTitle('身長') .setHelpText('半角数字で入力(単位:cm)') .setValidation(numberValidation) .setRequired(true);
// Q5. 利き手 form.addMultipleChoiceItem() .setTitle('利き手') .setChoiceValues(['右手', '左手', '両手']) .setRequired(true);
// 改ページ form.addPageBreakItem();
// --- 2ページ目:視覚・VR体験 --- form.addSectionHeaderItem().setTitle('2. 視覚・VR体験について');
// Q6. 左眼視力 form.addTextItem() .setTitle('現在の視力について(左眼)') .setHelpText('わかる範囲で数値をご記入ください(例:0.7、0.01など)') .setRequired(true);
// Q7. 右眼視力 form.addTextItem() .setTitle('現在の視力について(右眼)') .setHelpText('わかる範囲で数値をご記入ください') .setRequired(true);
// Q8. 視力矯正 form.addMultipleChoiceItem() .setTitle('本日の実験中の視力矯正') .setChoiceValues(['裸眼', 'コンタクトレンズ', '眼鏡']) .setRequired(true);
// Q9. VR体験 form.addMultipleChoiceItem() .setTitle('VR(バーチャルリアリティ)体験の有無') .setChoiceValues([ '初めて', '数回ある(1〜5回程度)', '何度もある(6回以上)', '習慣的に使用(週1回以上)' ]) .setRequired(true);
// Q10. 3Dゲーム経験 form.addMultipleChoiceItem() .setTitle('3Dゲーム(FPSなど)の経験') .setChoiceValues([ '全くない', 'たまにする(月に数回)', 'よくする(週に数回以上)' ]) .setRequired(true);
// Q11. 乗り物酔い form.addMultipleChoiceItem() .setTitle('普段の乗り物酔い') .setChoiceValues(['全くない', 'あまりない', 'たまにある', 'よくある']) .setRequired(true);
// 改ページ form.addPageBreakItem();
// --- 3ページ目:運転経験 --- form.addSectionHeaderItem().setTitle('3. 運転経験について');
// Q12. 免許有無 form.addMultipleChoiceItem() .setTitle('運転免許の有無') .setChoiceValues(['あり', 'あり(ペーパードライバー)']) .setRequired(true);
// Q13. 取得年数 form.addTextItem() .setTitle('免許取得年数') .setHelpText('半角数字で入力(単位:年)') .setValidation(numberValidation) .setRequired(true);
// Q14. 運転頻度 form.addMultipleChoiceItem() .setTitle('普段の運転頻度') .setChoiceValues([ 'ほぼ毎日', '週に数回', '月に数回', '年に数回・ほとんどしない' ]) .setRequired(true);
// Q15. 車種 form.addMultipleChoiceItem() .setTitle('普段運転する車種(主なもの)') .setChoiceValues([ '軽自動車', '普通自動車', '大型車・SUV等', '運転しない' ]) .setRequired(true);
// 改ページ form.addPageBreakItem();
// --- 4ページ目:体調・生活習慣 --- form.addSectionHeaderItem().setTitle('4. 本日の体調・生活習慣について');
// Q16. 睡眠時間 form.addTextItem() .setTitle('昨晩の睡眠時間') .setHelpText('半角数字で入力(単位:時間)') .setValidation(numberValidation) .setRequired(true);
// Q17. 眠気 form.addMultipleChoiceItem() .setTitle('現在の眠気') .setChoiceValues(['全くない', '少しある', '眠い', '強い眠気がある']) .setRequired(true);
// Q18. カフェイン form.addMultipleChoiceItem() .setTitle('カフェイン摂取(直近12時間以内)') .setChoiceValues(['なし', 'あり(1杯程度)', 'あり(2杯以上)']) .setRequired(true);
// Q19. アルコール form.addMultipleChoiceItem() .setTitle('アルコール摂取(直近24時間以内)') .setChoiceValues(['なし', 'あり']) .setRequired(true);
// Q20. 服薬有無 form.addMultipleChoiceItem() .setTitle('現在の服薬(風邪薬・花粉症薬等を含む)') .setChoiceValues(['なし', 'あり(次の項目で薬名等を教えてください)']) .setRequired(true);
// Q21. 薬名(任意) form.addTextItem() .setTitle('「あり」の場合の薬名(差し支えない範囲で)');
// Q22. 体調 form.addMultipleChoiceItem() .setTitle('現在の体調') .setChoiceValues([ '良好', '普通', 'あまり良くない(具体的に:その他に入力してください)' ]) .showOtherOption(true) .setRequired(true);
Logger.log('フォーム作成完了URL: ' + form.getEditUrl());}