我有两个谷歌表格文件。如果我选中第一个工作表文档中的复选框,我希望将第二个工作表中的复选框设置为 true。我将以下代码提炼为基本程序。
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var activeCell = ss.getActiveCell();
if(activeCell.getColumn() == 1 && activeCell.getRow() == 2){
myFunction()
}
}
function myFunction() {
var ss_target =SpreadsheetApp.openById('####ID####');
var Sheet = ss_target.getSheetByName('Sheet1');
Sheet.getRange(1,1).setValue(true);
}
出于某种原因,代码在以下行停止: var ss_target =SpreadsheetApp.openById('####ID####');
有趣的是,如果我在谷歌表格中绘制一个框并在单击该框时将 myFunction() 分配给该框,则代码可以完美运行。只有当我尝试使用 onedit 触发器运行代码时。有任何想法吗?
谢谢
您需要将其设置为可安装的触发器,因为简单的触发器无法执行需要许可的功能。就像更改用户数据一样。
function onMyEdit(e) {
e.source.toast('Entry');
var sh=e.range.getSheet();
if(sh.getName()=='Sheet2' && e.range.columnStart==1 && e.range.rowStart==2){
SpreadsheetApp.openById('tssid').getSheetByName('Sheet2').getRange('A1').setValue("TRUE");
}
}
function makeTrigger() {
var ss=SpreadsheetApp.getActive();
ScriptApp.newTrigger('onMyEdit').forSpreadsheet(ss.getId()).onEdit().create()
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句