【问题标题】:When trying to run onEdit(e) : - TypeError: Cannot read property 'range' of undefined onEdit @ macros.gs:18尝试运行 onEdit(e) 时:-TypeError:无法读取未定义 onEdit @ macros.gs:18 的属性 \'range\'
【发布时间】:2022-11-04 03:08:45
【问题描述】:

这是我试图运行但没有成功的代码:-

function onEdit(e) {
  
  
 if (e.range.getA1Notation == "c19") {
 if (e.range.getValue == true) {
 
 var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('2:19').activate();
  spreadsheet.getActiveSheet().hideRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows());
   spreadsheet.getRange('1:1').activate();
  spreadsheet.getActiveSheet().showRows(1, 199);
  spreadsheet.getRange('58:199').activate();
  spreadsheet.getActiveSheet().hideRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows());
  spreadsheet.getRange('2:19').activate();
  spreadsheet.getActiveSheet().hideRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows());
  spreadsheet.getRange('A1:M1').activate();
}
 }
}

请问你能帮忙吗?我对语法不是很好,所以我确信这是我需要的简单调整。

提前谢谢了, 玛丽莲

在 Google 表格中,我试图运行一个宏,当单元格的值为 TRUE 时将隐藏行

在同一个例程中将有更多行要取消隐藏和隐藏,但我只是想让第一个工作。

【问题讨论】:

  • 你的代码对我来说毫无意义。您正在尝试隐藏已经隐藏的行。看起来你误解了你在做什么。尝试删除一些行并从更简单的脚本开始。

标签: google-apps-script google-sheets


【解决方案1】:

这就是你的代码所做的:

function onEdit(e) {
  const sh = e.range.getSheet();
  if(sh.getName() == "Your Sheet Name" && e.range.columnStart == 3 && e.range.rowStart == 19 && e.value == "TRUE") {
    sh.hideRows(2,18);
    sh.showRows(1,199);
    sh.hideRows(58,142);
    sh.hideRows(2,18);
  }
}

【讨论】:

  • 我对此进行了测试,它运行得很好
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-24
  • 1970-01-01
  • 1970-01-01
  • 2021-10-05
  • 1970-01-01
  • 2017-08-13
相关资源
最近更新 更多