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

Google Sheets Apps Script需求:基于活动行填充CC表单

解决方案

原代码问题说明

  1. var CC = spreadsheetDocument.getSheetByName('CC')(); 存在语法错误,多了冗余的调用括号,正确写法是getSheetByName('CC')
  2. 仅处理了Name字段,未覆盖需求中的所有目标命名范围
  3. 未基于活动行整行数据提取,而是直接复制活动单元格范围

修正后的代码

function FillOutForm() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const srSheet = ss.getSheetByName('Service Requests');
  const ccSheet = ss.getSheetByName('CC');
  
  // 获取活动单元格所在的行号(行号从1开始计数)
  const activeRow = srSheet.getActiveCell().getRow();
  
  // ---------- 请根据实际列位置调整以下映射关系 ----------
  // 示例:假设Service Requests中各字段对应的列(A=1, B=2...)
  const fieldMap = {
    Name: 1,          // Name在A列
    Address: 2,       // Address在B列
    Date: 3,          // Date在C列
    Phone: 4,         // Phone在D列
    Town: 5,          // Town在E列
    WifiName: 6,      // WifiName在F列
    WifiPassword: 7,  // WifiPassword在G列
    Notes: 8          // Notes在H列
  };
  
  // 遍历所有需要填充的命名范围,赋值对应行的单元格数据
  Object.keys(fieldMap).forEach(fieldName => {
    const sourceValue = srSheet.getRange(activeRow, fieldMap[fieldName]).getValue();
    ccSheet.getRange(fieldName).setValue(sourceValue);
  });
}

使用说明

  1. 调整fieldMap中的列号,确保和你Service Requests工作表中各字段的实际列位置完全一致
  2. 确认CC工作表中的命名范围(Address、Date、Name等)已正确创建,且名称与代码中的fieldMap键完全匹配(大小写敏感)
  3. 在Service Requests工作表中选中目标行的任意单元格,运行FillOutForm函数,即可将该行对应字段填充到CC的表单中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 05:18:18