3


2

動的になるように、スプレッドシートのデータを使用するフォームを作成したいです。 これは可能ですか? 方法や例を説明している場所が見つからなかった。

可能なように思えるのは、フォームからスプレッドシートを作成することだけです。これも使用しますが、ここでの主な関心事ではありません。

4 Answer


4


Google Apps Scripts .. 最後に、プログラムでGoogleフォームを生成するための文書化された方法です。 https://developers.google.com/apps-script/reference/forms/


3


はい、そうです。 フォームスクリプトを使用し、フォームオープンのトリガーを使用してスプレッドシートから情報を更新します。 これは、2つの異なるシートからデータを取得し、コンボボックスと複数選択コントロールにデータを挿入する例です。

関数getNewNames(){var form = FormApp.getActiveForm(); var items = form.getItems();

var ss = SpreadsheetApp.openByUrl( 'https://docs.google.co.jp/spreadsheets/d/YOURDOCSNAMEHERE/edit'); var assSheet1 = ss.getSheetByName( 'Sheet1'); var assValues = assSheet1.getDataRange()。getValues(); var values = assValues.slice(1); var valSort = values.sort();

var ss2 = SpreadsheetApp.openByUrl( 'https://docs.google.co.jp/spreadsheets/d/DOCSNAMEHERE/edit'); var playerSheet1 = ss2.getSheets()[0]; var playerValues = playerSheet1.getDataRange()。getValues(); var player = playerValues.slice(0); var plySort = player.sort();

var names = [];

(var p = 0; p <plySort.length; p){names.push(plySort [p] [0])}の場合

var pList = items [0] .asListItem(); pList.setChoiceValues(names).setRequired(true).setHelpText( 'プレーヤー名を選択してください')

var area = []; (var i = 0; i <valSort.length; i){areas.push(valSort [i] [1])}

var aList = items [1] .asMultipleChoiceItem(); aList.setChoiceValues(areas).setRequired(true).setHelpText( '評価範囲の選択')

}


1


https://chrome.google.com/webstore/detail/formranger/faepkjkcpnnghgdhiobglpppbfdnaehc?hl=ja[FormRangerプラグイン]をご覧ください。 フォームの質問には入力されませんが、選択可能な質問、リスト、またはグリッド質問に可能な回答が動的に入力されます。 フォームの以前の応答からデータを取り出すことさえ可能です。 送信ごとまたは1時間ごとに自動的に更新するように設定できます。 注意:質問に対する回答に基づいてフィルタ質問を使用して別のセクションにリダイレクトする場合、その質問にFormrangerを使用することはできません。リダイレクトされます。


0


現在、スプレッドシート用のフォームを作成、取得、更新、および削除できるフォームAPIを追加するという機能要求があります。 現時点では機能はありませんが、存在する場合は、Forms APIとSpreadsheets Data APIを使用してスプレッドシートデータをフォームデータにリンクすることができます。 機能リクエストはこちら