更新:根据前面的回答,我加入的人要求谷歌重新启用做到这一点的能力合唱团,他们已经明显地遵守。
现在搞清楚如何实现它,因为我什么都不知道在谷歌表脚本。
原来的问题BELOW
我有许多需要数据的每日登记表不同的电子表格。 例如,有一个名为美国销售部片,与行的一年中的每一天。 还有其他几个相同的表,像英国的销售,美国出租等。
我想重点为自动跳转到正确的行,基于当前的日期,当这些片的一个被打开。
可能? 如果是这样,怎么样?
更新:根据前面的回答,我加入的人要求谷歌重新启用做到这一点的能力合唱团,他们已经明显地遵守。
现在搞清楚如何实现它,因为我什么都不知道在谷歌表脚本。
我有许多需要数据的每日登记表不同的电子表格。 例如,有一个名为美国销售部片,与行的一年中的每一天。 还有其他几个相同的表,像英国的销售,美国出租等。
我想重点为自动跳转到正确的行,基于当前的日期,当这些片的一个被打开。
可能? 如果是这样,怎么样?
这可通常通过用一个简单的脚本来实现onOpen()
函数(即执行电子表格上的开口),并激活所需的细胞(或片材)...
但是,由于在电子表格中的新版本的变化(你是最有可能使用),这是不可能的了(现在),看到这个问题(3928) ,并随时加注星标,这样希望谷歌团队会改变他们的介意,并有可能再次;-)
编辑 :这个简单的代码在老版本的电子表格 ,它并没有在新的版本。
function onOpen() {
SpreadsheetApp.getActive().getSheets()[0].getRange('B6').activate();// an arbitrary cell
// not worth trying more complex cell selection (on date or anything else) while this is blocked by design .
}
在这个变化的细节在这里和下面。
在2014年10月16日这个问题现在是固定的,上面的代码也适用于电子表格的新版本。 问题的细节在这里
自动激活对应于一年中的一天,你可以使用代码类似于下面的一行:
function onOpen() {
var day = new Date().getDOY();// this uses a custom date method that returns the day of the year and is defined below
SpreadsheetApp.getActive().getSheets()[0].getRange(day,1).activate();// in cloumn 1 for example. Add an offset if necessary (if headers...)
}
Date.prototype.getDOY = function() {
var onejan = new Date(this.getFullYear(),0,1);
return Math.ceil((this - onejan) / 86400000);
}