如何将 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+'")');
};
我创建了一个点差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+'")');
};