打开谷歌电子表格时如何直接转到某张表格?

时间:2016-09-29 22:18:07

标签: google-apps-script google-sheets google-apps

我希望我的电子表格在某张表格中打开。我已经尝试过以下但它仍然只是打开第一张表。

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

所以它显然只适用于有界的脚本..

2 个答案:

答案 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());