1

Google スプレッドシートから Google フォームに情報を取得して情報を更新するにはどうすればよいですか?

Google フォームで送信した情報を再度フォームに表示して情報を更新できるようにしたいと考えています。スプレッドシートにアクセスして編集できることは承知していますが、私の目的では、フォームを使用する方が簡単です。これを可能にするスクリプトを見つけることができませんでした。誰か提案はありますか?

4

1 に答える 1

3

Apps Script で FormApp を使用して、フォーム オブジェクトにアクセスして更新することができます。

以下は、「Choose from List」オブジェクトを更新する例です。各送信後にフォームを更新する場合は、コンテナー ベースのトリガー「フォーム送信時」を使用して updateList 関数を呼び出すことができます。

function updateList(){
  var form = FormApp.openById(formId);
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  // get the range of values to update in the form
  var data = sheet.getRange(2,1,sheet.getLastRow(),sheet.getLastColumn()).getValues();

  var listItemsToAdd = [];
  for(s in data){
    if(logic to define if to add to the form){
      listItemsToAdd.push(data[s][0]);
    }
  }

  // get all the list items in the form
  var list = form.getItems(FormApp.ItemType.LIST);
  // grab the first list item in the array of the form's list items
  var item = list[0].asListItem();
  // set the options to the array just created
  item.setChoiceValues(listItemsToAdd);
}
于 2013-10-21T17:21:52.387 に答える