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

Switch脚本语法错误求助:Unexpected token '{'报错(第8行)

脚本语法错误修复:Unexpected token '{'

直接报错原因

第8行的switch语句缺少闭合括号,原代码switch (r.getColumn() { 应改为 switch (r.getColumn()) {,这是触发SyntaxError: Unexpected token '{'的核心原因。

其他潜在问题及修正

除了语法错误,代码里还有几个逻辑/变量错误,不修复会导致脚本运行失败:

  • 第4行变量名错误:var sheet = range.sheet; 应改为 var sheet = r.sheet;(前面定义的范围变量是r,不是range)
  • 未定义变量s:代码中多次出现的s.getLastColumn()、s.getRange(...)里的s未声明,应替换为sheet(即当前操作的工作表)
  • 行清空逻辑错误:moveTo(target).range.clearContent() 写法错误,moveTo方法返回的是目标区域,原行的清空需要单独调用原区域的clearContent()方法

修正后的完整代码

function allInOne(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var r = e.range;
  var sheet = r.sheet;
  var sheetName = sheet.getName();
  if (e.value != "") {
    if (sheetName == "Pipe") {
      switch (r.getColumn()) {
        case 7:
          var row = r.getRow();
          var numColumns = sheet.getLastColumn();
          var targetSheet = ss.getSheetByName("Återkomster");
          var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
          sheet.getRange(row, 2, 1, numColumns).moveTo(target);
          sheet.getRange(row, 2, 1, numColumns).clearContent();
          // 执行第7列相关任务
          break;
        case 8:
          var row = r.getRow();
          var numColumns = sheet.getLastColumn();
          var targetSheet = ss.getSheetByName("Bokad");
          var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
          sheet.getRange(row, 2, 1, numColumns).moveTo(target);
          sheet.getRange(row, 2, 1, numColumns).clearContent();
          // 执行第8列相关任务
          break;
        case 13:
          var row = r.getRow();
          var numColumns = sheet.getLastColumn();
          var targetSheet = ss.getSheetByName("Bokad");
          var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
          sheet.getRange(row, 2, 1, numColumns).moveTo(target);
          sheet.getRange(row, 2, 1, numColumns).clearContent();
          // 执行第13列相关任务
          break;
        default:
          // 编辑发生在无需监听的列,不执行操作
          return;
      }
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 17:32:04