2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GASでスプレッドシートの値をGoogleフォームに設定

Last updated at Posted at 2021-05-25

フォームの作成

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);
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?