我已经创建了一个电子表格,然后添加了一些值。我通过菜单打开了脚本编辑器并添加了一个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函数设置了项目触发器,但在编辑单元格时没有任何反应。
答案 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+'")');
};