如何将 onEdit 脚本获取到 运行

How do I get the onEdit script to run

我创建了一个点差sheet,然后添加了一些值。我通过菜单打开了脚本编辑器,添加了一个onEdit函数。当我编辑 sheet.

中的单元格时,我这辈子都无法让该脚本执行任何操作

如果我在编辑器中专门按下 "run" 按钮,它将 运行,但这有点违背了目的。我错过了什么?

以防万一这里是我的代码

function onBugEdit() {
  Browser.msgBox("test");
  var sheet = SpreadsheetApp.getActiveSheet();
  var rng   = sheet.getActiveRange();
  var val   = rng.getValues();
  var col   = rng.getColumn();
  var row   = rng.getRow();
  var h_string = '=HYPERLINK("http://example.com?id='+val+'","'+val+'")';
  if(col == 4) { 
    col = "D";
    cell = sheet.getRange(col+row);
    cell.setFormula(h_string);
  }
};

为 onEdit 函数设置了项目触发器,但当我编辑单元格时再次没有任何反应。

你试过调用你的函数 onEdit 而不是 onBugEdit 吗?
还请记住,编辑后退出单元格时会注册 "edit"。


您的代码可以简化为:

function onEdit(e) {
  if(e.range.getColumn() == 4) { 
  makeHyperlink(e)
  }
};
function makeHyperlink(e) {

    e.range.setFormula('=HYPERLINK("http://example.com?id='+e.value+'","'+e.value+'")');
};