我希望我的电子表格在某张表格中打开。我已经尝试过以下但它仍然只是打开第一张表。
function setActiveSheetToday(){
var date = new Date();
var sheet = getSheetByDate(date); //custom function that returns sheet object
var SS = sheet.getParent();
SS.setActiveSheet(sheet);
}
然后我制作onOpen
触发器。
ScriptApp.newTrigger('setActiveSheetToday').forSpreadsheet(SS_ID).onOpen().create();
当我打开电子表格时,它仍然会在第一张纸上打开。有什么建议吗?
修改的
我想我找到了它在这里不起作用的原因:https://developers.google.com/apps-script/guides/bound#special_methods
所以它显然只适用于有界的脚本..
答案 0 :(得分:1)
您可以在第一张纸上制作要打开的纸张。只需将SS.moveActiveSheet(1);
添加到setActiveSheetToday()
功能。
或者,从绑定脚本激活工作表会根据需要更改焦点。从单独的脚本文件中执行此操作并不会出现。
答案 1 :(得分:0)
你检查过对象,你的表吗?
您可以尝试此功能进行简单测试:
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Sheet1');
ss.setActiveSheet(sheet);
}
制作名为" Sheet1"的工作表,转到任何其他工作表并重新加载页面。
代码我建议测试:
Logger.log(sheet.getName());