【发布时间】:2013-12-29 19:18:33
【问题描述】:
我有一个包含十二张表格的电子表格,一年中的每个月一张。每当打开电子表格时,我希望将与当前月份匹配的工作表默认设置为活动工作表。
看起来很简单:
function onOpen() {
var today = new Date();
var ss = SpreadsheetApp.getActive();
ss.setActiveSheet(ss.getSheets()[today.getMonth()]);
}
不幸的是,SpreadsheetApp 先加载第一个工作表(一月),然后加载我想要的工作表。在某些移动客户端上,这会导致加载时间过长。
有没有办法在电子表格中的第一个工作表作为活动工作表加载之前挂钩序列?
【问题讨论】:
-
您的解决方案是否可行,将当月的工作表作为电子表格的第一张工作表?您可以在每月的第一天设置一个计时器来移动工作表。
-
@wchiquito:我喜欢这个解决方案……非常“开箱即用”。现在肯定会这样做。不过,我仍然希望早期的过程中有一个钩子。
-
我同意@wchiquito,最好的方法是在每月第一天的午夜运行作业以更改工作表的顺序。考虑到 google 电子表格首先打开然后运行 onOpen 函数,我认为没有其他办法了:)。
标签: google-apps-script google-sheets