当表被打开,想自动跳转到某个小区是基于日期(When sheet is opened, would

2019-10-20 22:06发布

更新:根据前面的回答,我加入的人要求谷歌重新启用做到这一点的能力合唱团,他们已经明显地遵守。

现在搞清楚如何实现它,因为我什么都不知道在谷歌表脚本。


原来的问题BELOW

我有许多需要数据的每日登记表不同的电子表格。 例如,有一个名为美国销售部片,与行的一年中的每一天。 还有其他几个相同的表,像英国的销售,美国出租等。

我想重点为自动跳转到正确的行,基于当前的日期,当这些片的一个被打开。

可能? 如果是这样,怎么样?

Answer 1:

这可通常通过用一个简单的脚本来实现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 .
}

在这个变化的细节在这里和下面。


编辑2:

在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);
}


文章来源: When sheet is opened, would like to auto-jump to certain cell based on date