我有几张以“代理报告”开头,后跟名称的工作表,如下所示:“代理报告 - 约翰”、“代理报告 - 亚当”等。我有一个脚本可以从特定单元格中读取代理的名称并从该人的另一个电子表格中检索数据。我想在激活以“代理报告”开头的工作表时触发脚本,以便在工作表之间移动时,为“代理报告”工作表中的每个人更新工作表数据。到目前为止我有这个:
function onOpen(e) {
makeMenu();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sname = ss.getActiveSheet().getName();
if(sname.indexOf("Agent Report")>-1){
master();
}
}
代理报告不是第一个工作表,因此当我打开电子表格时脚本正确地创建了一个自定义菜单 (makeMenu),但是当我切换到“代理报告”工作表时没有被触发(主)。当我从“代理报告”表手动运行脚本时,它运行良好。
我的问题是:当我切换到名称以“Agent Report”开头的工作表时,我可以创建一个触发器来运行脚本吗?onOpen()似乎不适合这个目的。
如果这样的触发器不可能,是否可以有一个解决方法 - 一个遍历每张工作表的循环,检查名称,如果它包含“代理报告”,则运行脚本。像这样的东西:
function onOpen(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var numberOfSheets = ss.getSheets().length;
for (var i = 0; i<=numberOfSheets; i ++) {
if(SOMETHING HERE.indexOf("Agent Report")[i] > -1){
master();
}
}
}
青春有我
慕莱坞森
相关分类