首页 文章

Google Apps电子表格根据当前日期(月)打开特定工作表

提问于
浏览
2

我目前正在Google Apps中创建一个电子表格,用于记录客户的出勤情况 . 电子表格包含12张 . 每张纸代表一年中的一个月,因此第一张代表一月,第二张代表二月等 .

我正在尝试使用On_Open函数创建Google Apps脚本,以根据当前日期自动打开相关表格 .

例如,如果当前日期为18/02/2013,那么电子表格将自动打开,并将工作表2(二月)作为焦点 .

我认为我使用SpreadsheetApp.setActiveSheet是正确的,但我不知道如何使用Google App Script专门捕捉月份日期 .

我假设脚本会像下面那样流动?

如果日期= 18/02/2013,那么SpreadsheetApp.setActiveSheet 2

我们将非常感激地提供任何帮助 .

1 回答

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

相关问题