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