脚本有效,但只能在一个电子表格上

时间:2018-10-12 21:32:16

标签: google-apps-script google-sheets

我的脚本适用于sample spreadsheet的第一张纸。但是,即使Logger.log(sheet.getName())成功获取了当前正在编辑的工作表的名称,它也不适用于我的工作簿中的其他工作表。这是一个非常简单的问题,我只是想不出为什么它仅适用于我的一张纸。

function onEdit (e) {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getActiveSheet()
      Logger.log(sheet.getName())
      if (e.range.getA1Notation() === 'C19' && e.value == 'TRUE') {
        sheet.getRange('K2:K89').setNumberFormat("0.00oz")
      }
        else if (e.range.getA1Notation() === 'C19' && e.value == 'FALSE'){
          sheet.getRange('K2:K89').setNumberFormat("0.00g")
        }

1 个答案:

答案 0 :(得分:2)

在“加载选择器”中,C19值为TRUE / FALSE

在“加载选择器2.0的副本”中,C19值为1/0

在if循环的脚本中,您的C19 =='FALSE'/'TRUE'

就是这个问题。只需在“ Loader Picker 2.0的副本”单元格C19中重新创建一个新的复选框,它将C19值从1/0重置为TRUE / FALSE。 (不要忘记重新加入电子表格,或者只是在工作表之间切换,以便代码开始工作。)

这也是为什么onEdit()用于第一张而不是第二张的原因。