如何让onEdit脚本运行

时间:2015-01-22 14:22:55

标签: google-apps-script google-sheets google-spreadsheet-api

我已经创建了一个电子表格,然后添加了一些值。我通过菜单打开了脚本编辑器并添加了一个onEdit函数。对于我的生活,我不能在编辑工作表中的单元格时让脚本执行任何操作。

如果我特意按下"运行"它将会运行编辑器中的按钮,但这种目的失败了。我错过了什么?

如果重要的是我的代码

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函数设置了项目触发器,但在编辑单元格时没有任何反应。

1 个答案:

答案 0 :(得分:0)

您是否尝试过调用您的函数onEdit而不是onBugEdit? 另请记住,编辑后退出单元格时会注册“编辑”。


您的代码可以简化为:

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+'")');
};