2013-04-25 101 views
2

我目前正在Google Apps中創建一個電子表格,用於記錄客戶端出席情況。電子表格包含12張表格。每張表代表一月中的一個月,因此表一表示一月,表二表示二月等。Google Apps電子表格根據當前日期打開特定表格(月)

我試圖使用On_Open函數創建Google Apps腳本,以根據當前日期自動打開相關工作表。

例如,如果當前日期在哪裏18/02/2013然後電子表格會自動打開與工作表2(2月)焦點。

我認爲我在使用SpreadsheetApp.setActiveSheet時是正確的,但我不知道如何使用Google App腳本捕獲日期,具體爲哪個月。

我假設腳本會像下面那樣流動?

如果日期= 18/02/2013 然後SpreadsheetApp.setActiveSheet 2

任何幫助將受到歡迎。

+0

被這一個的副本不遠處:http://stackoverflow.com/questions/18612195/unable-to-active-a摺疊按姓名/ 18612733#18612733 – 2013-09-10 19:44:49

回答

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); 
}; 
相關問題