我的 Google 电子表格包含以下列:
- 答:日期
- 2020年7月16日
- 2020年7月17日
- 2020年7月18日
- B、C、D:其他信息
我需要一个脚本,当您打开文档时,它会自动滚动表格到今天的日期。
最佳答案
转到今天:
function gotoTodaysDate() {
const ss=SpreadsheetApp.getActive();
const sh=ss.getSheets()[0];//most left sheet
const shsr=2;//data start row
const shsc=1;//date column
const vs=sh.getRange(shsr,shsc,sh.getLastRow()-shsr+1,1).getValues();
const dates=vs.map(function(r){return r[0];});//flattened
const td=Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "dd.MM.yyyy");//current date string
const idx=dates.indexOf(td);
sh.getRange(idx+shsr,1).activate();
}
可安装的 onOpen 触发器:
function createOnOpenTrigger() {
const ss=SpreadsheetApp.getActive();
if(!isTrigger('gotoTodaysDate')) {
ScriptApp.newTrigger('gotoTodaysDate').forSpreadsheet(ss.getId()).onOpen().create();
}
}
辅助函数: 防止您为给定函数创建多个触发器
function isTrigger(funcName){
var r=false;
if(funcName){
var allTriggers=ScriptApp.getProjectTriggers();
for (let i=0;i<allTriggers.length;i++){
if(funcName==allTriggers[i].getHandlerFunction()){
r=true;
break;
}
}
}
return r;
}
关于javascript - 使用谷歌应用程序脚本滚动电子表格到今天的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62937016/