5

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

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

4

4 に答える 4

4

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

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

  var ss = SpreadsheetApp.openByUrl(
     'https://docs.google.com/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.com/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 = [];

  for(var p = 0; p < plySort.length; p++){
    names.push(plySort[p][0])
  }

  var pList = items[0].asListItem();
  pList.setChoiceValues(names).setRequired(true).setHelpText('Please Select Player Name')

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

  var aList = items[1].asMultipleChoiceItem();
      aList.setChoiceValues(areas).setRequired(true).setHelpText('Select Area of Assessment')

}
于 2015-01-07T19:03:49.800 に答える
4

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

于 2013-06-04T22:51:08.967 に答える
0

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

于 2010-04-03T15:32:23.350 に答える