要根据Google Sheets中的范围自动更新Google表单中的下拉列表,你可以使用Google Apps Script来实现这一功能。以下是详细步骤和示例代码:
function updateFormDropdown() {
// 获取当前电子表格和表单的ID
var spreadsheetId = SpreadsheetApp.getActiveSpreadsheet().getId();
var formId = 'YOUR_FORM_ID'; // 替换为你的表单ID
// 获取电子表格中的数据范围
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1'); // 替换为你的工作表名称
var dataRange = sheet.getRange('A2:A'); // 替换为你想要的数据范围
var dataValues = dataRange.getValues();
// 创建一个数组来存储下拉列表的选项
var options = [];
for (var i = 0; i < dataValues.length; i++) {
if (dataValues[i][0] !== '') {
options.push(dataValues[i][0]);
}
}
// 获取表单并更新下拉列表
var form = FormApp.openById(formId);
var item = form.getItemById('YOUR_ITEM_ID').asListItem(); // 替换为你的下拉列表项ID
item.setChoiceValues(options);
}
// 创建一个触发器的函数
function createTrigger() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var triggers = ss.getTriggers();
for (var i = 0; i < triggers.length; i++) {
if (triggers[i].getHandlerFunction() == 'updateFormDropdown') {
return;
}
}
var newTrigger = ss.newTrigger('updateFormDropdown')
.forSpreadsheet(ss)
.onEdit()
.create();
}
createTrigger
函数一次,以创建一个触发器,该触发器会在电子表格中的数据发生变化时自动调用updateFormDropdown
函数。通过以上步骤和代码,你可以实现Google Sheets中的数据范围自动更新Google表单中的下拉列表功能。