javascript - 如何修复带有文本的 if 语句中的 "Missing ; before statement"

标签 javascript google-apps-script google-sheets

每次我在 if 语句中使用文本时,它都会显示“缺少 ; before 语句”。我的代码是

function onEdit() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Class');
var class = sheet.getRange('Traits!L3').getValue();
  if (class == 'Warlock' ) {
    sheet.getRange('A7:D7')breakApart();
    sheet.getRange('A7:D7')mergeAcross();
  } else {
    if (class == 'Fighter') {
      sheet.getRange('A7:D7')breakApart();
      sheet.getRange('A7:B7')mergeAcross();
    } else {
    }

它的作用是根据你的职业(术士和战士)打破和合并单元格。 Traits!L3 是一个数据验证,允许您选择一个类别,因此如果您选择术士,那么它会合并 4 个单元格,如果没有,(未完成的代码)。这是如何以及为何出现的?有办法解决吗?

最佳答案

您在 breakApart()mergeAcross() 之前忘记了 .

function onEdit() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Class');
var char_class = sheet.getRange('Traits!L3').getValue();
  if (char_class == 'Warlock' ) {
    sheet.getRange('A7:D7').breakApart();
    sheet.getRange('A7:D7').mergeAcross();
  } else {
    if (char_class == 'Fighter') {
      sheet.getRange('A7:D7').breakApart();
      sheet.getRange('A7:B7').mergeAcross();
    } else {
    }

您应该在 Google 表格中使用数据 -> 命名范围并开始命名单元格引用,然后您可以在代码中甚至用该名称的公式中调用它们。

关于javascript - 如何修复带有文本的 if 语句中的 "Missing ; before statement",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59403289/

相关文章:

javascript - 在 HTML 页面中添加菜单项

java - 如何从java应用程序外部运行google apps脚本

javascript - Google Apps 脚本 - 检查电子邮件是否已正确发送

validation - 获取 Google 表格中项目列表的选定索引

javascript - 这是正确的 JavaScript 语法吗?

javascript - 内容可编辑指令无法正常工作

javascript - 更新计数器时 Cassandra Node.js 驱动程序内存泄漏

google-apps-script - Drive.Permissions.insert (Value) - Drive API,你可以使用 'value' 下的数组吗?

google-apps-script - 具有关联服务器的 Google Workspace 插件 : managing OAuth and permissions

excel - 为谷歌表格中的一个单元格创建多个下拉列表?