You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于SKU Code自动联动Item Name的Google表单脚本开发求助

实现Google表单SKU与商品名称联动的Apps Script方案

准备工作

  • 复制数据源表格的表格ID(URL中/d/之后的字符串)
  • 确认表单内两个问题的准确标题:SKU对应的问题标题、商品名称对应的问题标题

编写与部署脚本

  1. 打开目标Google表单,点击右上角「扩展程序」→「Apps Script」
  2. 清空编辑器内默认代码,粘贴以下脚本:
// 替换为你的数据源表格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);
}
  1. 修改脚本顶部的三个常量:
    • 将SPREADSHEET_ID替换为你的数据源表格ID
    • 将SKU_QUESTION_TITLE替换为表单内SKU问题的准确标题
    • 将ITEM_NAME_QUESTION_TITLE替换为表单内商品名称问题的准确标题
  2. 在编辑器顶部选择installTrigger函数,点击运行按钮,按照提示完成权限授权
  3. 关闭并重新打开表单,侧边栏会自动加载

测试与调整

  • 选择SKU选项后,对应商品名称会自动选中
  • 如果联动失效,检查以下内容:
    • 数据源表格的SKU和商品名称列索引是否正确(代码中默认第一、二列,索引0、1)
    • 表单问题标题与脚本内的标题是否完全一致(包括大小写、空格)
    • 是否已成功安装触发器(可在Apps Script编辑器的「触发器」面板查看)

内容的提问来源于stack exchange,提问作者Gaurav Lodhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:33:20