前提・実現したいこと
GAS(Google Apps Script)を使って、
スプレッドシートの指定列の単語を、Googleフォームの質問「参加希望日程」の選択肢(チェックボックス)に表示させたいです。
今回は、あるシートのAB列の2行目から最終行までと、AC列の2行目・3行目を選択肢に加えたいです。
スプレッドシートを更新するとフォームの選択肢も更新されるように、トリガーを使ってやるつもりなのです。
以下のプログラムを実行したのですが、うまく動作しませんでした。
function overwriteList() { var ss = SpreadsheetApp.openById('△△△'); var sh = ss.getSheetByName("リスト"); // AB行の2行目からコンテンツをもつ最後の行までの値を配列で取得する var colAB = sheet.getRange(2,28,sheet.getLastRow() - 1).getValues(); // AC行の2行目から3行目までの値を配列で取得する var colAC = sheet.getRange(2,29,3,2).getValues(); } /** // Googleフォームのチェックボックス内の値を上書きする // **/ var form = FormApp.openById('〇〇〇'); // 質問項目がチェックボックスのもののみ取得 var items = form.getItems(FormApp.ItemType.Checkbox); items.forEach(function(item){ // 質問項目が「参加希望日程」を含むものに対して、スプレッドシートの内容を反映する if(item.getTitle().match(/参加希望日程.*$/)){ var CheckboxItemQuestion = item.asCheckboxItem(); var choices = []; colA.forEach(function(name){ if(name != ""){ choices.push(CheckboxItemQuestion.createChoice(name)); } }); // チェックボックスの選択肢を上書きする CheckboxItemQuestion.setChoices(choices); } }); }
補足情報(FW/ツールのバージョンなど)
GASやプログラミングなどの知識が浅いため、上記のプログラムが間違っているのだと思います。
以下のサイトを参考にしました。
https://qiita.com/kobaboy/items/610263087d9c85d8458e
ご教示いただけますと幸いです。
「実行した」とのことですが、保存すらできません。構文にエラーがあるからです。保存しようとしたら下記のエラーが出ます。
> SyntaxError: Unexpected token }(行 38、ファイル「code.gs」)
なぜ理解もしていないコードをここにはるときに削るのでしょうか。削った箇所に問題がないことを保証できると言うなら知識が浅いなどというエクスキューズは通りません。
もし削っていないとしたらなぜ実行していないものを実行したという虚偽をまぜるのでしょうか。
そうした、理解のないままの省略または虚偽は、回答者の意欲を削ぐ効果しかありません。

回答1件
あなたの回答
tips
プレビュー