基于SKU Code自动联动Item Name的Google表单脚本开发求助
实现Google表单SKU与商品名称联动的Apps Script方案
准备工作
- 复制数据源表格的表格ID(URL中
/d/之后的字符串) - 确认表单内两个问题的准确标题:SKU对应的问题标题、商品名称对应的问题标题
编写与部署脚本
- 打开目标Google表单,点击右上角「扩展程序」→「Apps Script」
- 清空编辑器内默认代码,粘贴以下脚本:
// 替换为你的数据源表格ID const SPREADSHEET_ID = "你的表格ID"; // 替换为表单中SKU问题的准确标题 const SKU_QUESTION_TITLE = "Question 1 (SKU Code)"; // 替换为表单中商品名称问题的准确标题 const ITEM_NAME_QUESTION_TITLE = "Question 2 (Item Name)"; // 从数据源表格获取SKU与商品名称的映射关系 function getSKUItemMap() { const sheet = SpreadsheetApp.openById(SPREADSHEET_ID).getActiveSheet(); const data = sheet.getDataRange().getValues(); const skuItemMap = {}; // 假设表头在第一行,从第二行开始读取数据 for (let i = 1; i < data.length; i++) { const sku = data[i][0]; // SKU列索引,默认第一列(0开始) const itemName = data[i][1]; // 商品名称列索引,默认第二列(0开始) if (sku && itemName) { skuItemMap[sku] = itemName; } } return skuItemMap; } // 安装表单打开触发器 function installTrigger() { ScriptApp.newTrigger('onFormOpen') .forForm(FormApp.getActiveForm()) .onOpen() .create(); } // 表单打开时加载联动逻辑 function onFormOpen() { const form = FormApp.getActiveForm(); const sidebarHtml = HtmlService.createHtmlOutput(` <script> // 调用服务器端函数获取SKU映射 google.script.run.withSuccessHandler(function(map) { // 定位SKU下拉框和商品名称下拉框 const skuDropdown = document.querySelector('div[aria-label="${SKU_QUESTION_TITLE}"] select'); const itemDropdown = document.querySelector('div[aria-label="${ITEM_NAME_QUESTION_TITLE}"] select'); if (skuDropdown && itemDropdown) { // 监听SKU选择变化事件 skuDropdown.addEventListener('change', function() { const selectedSKU = this.value; const targetItem = map[selectedSKU]; if (targetItem) { // 匹配并选中对应的商品名称选项 for (let option of itemDropdown.options) { if (option.textContent === targetItem) { option.selected = true; // 触发change事件确保表单识别选中状态 itemDropdown.dispatchEvent(new Event('change')); break; } } } }); } }).getSKUItemMap(); </script> `).setTitle('SKU联动'); form.showSidebar(sidebarHtml); }
- 修改脚本顶部的三个常量:
- 将
SPREADSHEET_ID替换为你的数据源表格ID - 将
SKU_QUESTION_TITLE替换为表单内SKU问题的准确标题 - 将
ITEM_NAME_QUESTION_TITLE替换为表单内商品名称问题的准确标题
- 将
- 在编辑器顶部选择
installTrigger函数,点击运行按钮,按照提示完成权限授权 - 关闭并重新打开表单,侧边栏会自动加载
测试与调整
- 选择SKU选项后,对应商品名称会自动选中
- 如果联动失效,检查以下内容:
- 数据源表格的SKU和商品名称列索引是否正确(代码中默认第一、二列,索引0、1)
- 表单问题标题与脚本内的标题是否完全一致(包括大小写、空格)
- 是否已成功安装触发器(可在Apps Script编辑器的「触发器」面板查看)
内容的提问来源于stack exchange,提问作者Gaurav Lodhi
相关产品推荐
相关产品推荐

