Google表格宏不会在触发器上运行

时间:2018-12-31 01:21:39

标签: google-apps-script google-sheets

我创建了以下脚本,以使用宏删除范围内的内容。

当我运行宏时,它可以正常工作。

但是当我设置基于时间的触发器时,它不起作用。触发日志说它运行成功,但是单元格内容并未真正删除

这是我的代码:

function Clear_Send_Status() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('J2:J13').activate();
  spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
};

1 个答案:

答案 0 :(得分:1)

“问题”是时间驱动的触发器无法激活范围,也无法获得活动的范围列表,因为它们是需要用户运行脚本的方法。考虑到运行该脚本时,无法保证甚至在浏览器中都可以打开电子表格。

尝试

function Clear_Send_Status() {
  var spreadsheet = SpreadsheetApp.getActive();
  var range = spreadsheet.getRange('J2:J13');
  range.clear({contentsOnly: true, skipFilteredRows: true});
};

这直接对Range变量range进行操作,而不是尝试激活它,然后对活动RangeList进行操作。