我目前正在Google Apps中创建一个电子表格,用于记录客户的出勤情况。电子表格包含12张。每张表代表一年中的一个月,因此第一张表示一月,第二张表示二月等。
我正在尝试使用On_Open功能创建Google Apps脚本,以根据当前日期自动打开相关表格。
例如,如果当前日期为18/02/2013,那么电子表格将自动打开,并将工作表2(二月)作为焦点。
我认为我使用SpreadsheetApp.setActiveSheet是正确的,但我不知道如何使用Google App Script专门捕捉日期。
我假设脚本会像下面那样流动?
如果日期= 18/02/2013 然后是SpreadsheetApp.setActiveSheet 2
感谢任何帮助。
答案 0 :(得分:1)
获得一个月号,0 - 11:
var month = (new Date()).getMonth();
假设您有{Sheet1
.. Sheet12
}代表1月至12月,那么这将有效:
/**
* Selects a monthly sheet
*/
function onOpen() {
var month = (new Date()).getMonth();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[month];
ss.setActiveSheet(sheet);
};
或者,您可以按月命名工作表,并按名称查找相应的每月工作表。这将允许您在电子表格中包含其他非月度表:
/**
* Selects a monthly sheet
*/
function onOpen() {
var monthTabs = [ "January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December" ];
var month = (new Date()).getMonth();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName(monthTabs[month]);
ss.setActiveSheet(sheet);
};