当前位置: 首页 > 知识库问答 >
问题:

谷歌应用电子表格根据当前日期(月)打开特定表格

阮俊弼
2023-03-14

我目前正在谷歌应用程序中创建一个电子表格,用于记录客户出席情况。电子表格包含12张表格。每张纸代表一年中的一个月,所以第一张纸代表一月,第二张纸代表二月等等。

我正在尝试使用On_Open功能创建一个Google应用程序脚本,根据当前日期自动打开相关工作表。

例如,如果当前日期为2013年2月18日,则电子表格将自动打开,焦点为工作表2(2月)。

我认为我使用电子表格应用程序是正确的。setActiveSheet,但我不知道如何用谷歌应用程序脚本捕捉具体的月份日期。

我假设脚本的流程有点像下面这样?

如果日期=2013年2月18日,则电子表格应用程序。第2页

任何帮助都将不胜感激。

共有2个答案

颜德馨
2023-03-14

还有每周表演的代码。

我的标签上有一周的名字。

孟英光
2023-03-14

要得到一个月的数字,0-11:

var month = (new Date()).getMonth();

假设您有{Sheet1Sheet12}代表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);
};
 类似资料:
  • 试图复制整个电子表格,但我想没有api可以这样做。 基本上,我正在尝试做以下工作: 有一个电子表格,我想对其进行小的更改。 创建一个新的电子表格,将模板中的所有表格逐个复制到新的电子表格中(电子表格复制会更有效率) 创建新的电子表格工作正常,但从电子表格复制表格不起作用。 尝试了两种方法: 角: 给出以下错误: 对飞行前请求的响应未通过访问控制检查:无“访问控制允许原点” Google Sheet

  • 我是谷歌脚本的新手,不知道是否有人能帮我。 我有一个共享的谷歌电子表格,基本上是用新的员工信息更新行。 我希望只有当插入这些新员工行时,特定列(比如F列)上的“ABC”字符串匹配时,才会触发电子邮件。基本上,电子邮件触发器会让我们的团队知道如何设置新的员工帐户。 有人能帮我吗?我不知道如何进行字符串匹配,也不知道如何让它专门发送给固定的电子邮件收件人。我已经安装了Python、gspread和gd

  • 可编辑链接-https://docs.google.com/spreadsheets/d/1vrzchTHVwwzc9wgFGmtc_zBsh27CEtE7KOyeNDuLwC0/edit?usp=sharing 发布至网页-https://docs.google.com/spreadsheets/d/e/2PACX-1vRaJd3YpKnemAneU47RI58m7cxQsYFdViFBxJPV

  • 我正在尝试从多个google电子表格中删除一个特定的表格。 我有一个主电子表格,从所有其他电子表格收集数据。从主电子表格中,我可以在其他电子表格中执行不同类型的操作,如添加工作表、重命名工作表、隐藏和锁定工作表。 但无法删除其他电子表格中的表格。查看了其他线程,但找不到任何解决方法。 这就是我到目前为止得到的。它停在这一排: "fname.delete表(本周);}" 我很感谢大家对我的帮助,因为

  • 我正试图让一个Google表单根据1个表单输入的数据,用多行填充电子表格,如下所示: 表单简单,客户信息最少https://docs.google.com/forms/d/1LrKlVuI7kxVU0lxz70Uu-2Obj4x3qIwe6nS-ErzbCAg/ 输入后,我需要表格在表格(或格式化表格)中输入数据,如下所示:-输入的每个部分(1、2或3)应位于单独的行中,具有相同的客户名称 然后,

  • 我一直试图在电子表格打开到当前日期时移动它的视图。 这是一个日程安排电子表格,每个月都有一张表格,第一列中列出的日期向下。 我已成功将工作表更改为当月,代码如下: 将其添加到onOpen函数时,不会出现任何问题。 但是,以下代码仅在通过脚本编辑器手动触发时有效,在gotoCurrentMonth函数之后调用时似乎不会触发。 当电子表格打开时,电子表格将切换到三月工作表,但选定的单元格不会移动。坐在