フォームの作成
function myFunction(){
const form = FormApp.create('新規作成するフォームの名前')
form.setDescription('作成されたフォームの説明')
}
既存のフォームの取得
const = FormApp.openById(フォームのID)
フォームに値を反映
あらかじめ取得済み
const form = FormApp.openById('xxxxxxxxxxxxxxxxxxxxxxxxxx')
const spreadsheet = SpreadsheetApp.openById('xxxxxxxxxxxxxxxxxxxxxxxxx')
const sheet = spreadsheet.getSheetByName('シート1')
ラジオボタン
.addMultipleChoiceItem()
行数固定の場合
// 値の入力された列を範囲指定して取得
values = sheet.getRange("C2:C11").getValues()
// 取得した配列(2次元配列)をラジオボタンの項目としてセット
form.addMultipleChoiceItem()
// 設問を記述
.setTitle('ラジオボタンから選んでください')
// 配列を引数に入れる
.setChoiceValues(values)
// 必須にするか否か
.setRequired(true);
}
行数を動的に取得する場合
sheet.getRange(2, 3).getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow()
で、実行毎に行数を取得
// C列2行目から連続して値があるセルを取得
let lastRow = sheet.getRange(2, 3).getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow()
// C2からCの最終行までを取得
let values = sheet.getRange(`C2:C${lastRow}`).getValues()
console.log(values2)
// 取得した配列(2次元配列)をラジオボタンの項目としてセット
form.addMultipleChoiceItem()
// 設問を記述
.setTitle('ラジオボタンから選んでください')
// 配列を引数に入れる
.setChoiceValues(values)
// 必須にするか否か
.setRequired(true)
}
プルダウン
.addListItem()
// C2からCの最終行までを取得
let values = sheet.getRange(`C2:C${lastRow}`).getValues()
// 取得した配列(2次元配列)をラジオボタンの項目としてセット
form.addListItem()
// 設問のタイトル
.setTitle('枚数は?')
// プルダウンに表示させる配列
.setChoiceValues(values)
// 必須か否か
.setRequired(true);