简单触发器onSelectionChange(e)不起作用

时间:2020-05-21 07:42:45

标签: google-apps-script google-sheets triggers

code.gs

var runSelect = true
function onSelectionChange(e) {
  var sheet = SpreadsheetApp.getActiveSheet()
  var range = e.range;
  var column = range.getColumn();
  var lastRow = sheet.getLastRow();
  var ui = SpreadsheetApp.getUi();
  if (runSelect == true) {
    sheet.getRange(5, column, lastRow-4).activate();
    sheet.getRange(1, column).copyTo(sheet.getActiveRange());
    ui.alert("Finnish")

我已尝试更改选择,但警报从不显示且不进行复制

3 个答案:

答案 0 :(得分:3)

这很好用,它也可以用于在过去的问题中单击某个单元格时想要触发事件的人。

function onSelectionChange(e) {
  var sh=e.range.getSheet();
  e.source.toast('Sheet: ' + sh.getName() + ' Range: ' + e.range.getA1Notation());  
}

答案 1 :(得分:1)

根据https://developers.google.com/apps-script/reference/base/ui.html警报(提示),不需要授权。可能未执行onSelectionChange触发器,并且您正在使用新的V8运行时。使用旧版运行时,而不是V8运行时。在我的情况下,使用V8运行时有时会触发,有时不会触发。 V8中的触发器执行存在一般性问题,请参见https://issuetracker.google.com/issues/147016387

答案 2 :(得分:0)

同样的问题发生在我身上。我从编辑器手动运行代码,它要求授权。我授权了它和中提琴!现在 onSelectionChange 触发器起作用了!希望对路过的人有所帮助...