You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用脚本创建以当前工作表标签命名的两周后Google日历事件?

解决方案

你的需求很清晰——要创建一个以当前活动工作表标签命名、两周后开始的Google日历事件。现有代码的核心问题是硬编码了固定日期,我们只需要替换日期计算逻辑,并优化下代码的可读性即可。

修改后的完整代码

function addWorksheetEventToCalendar() {
  // 获取当前活动工作表的名称
  const sheetName = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
  
  // 计算两周后的日期:当前日期 + 14天
  const twoWeeksLater = new Date();
  twoWeeksLater.setDate(twoWeeksLater.getDate() + 14);
  
  // 在默认日历创建全天事件,标题包含工作表名称
  const event = CalendarApp.getDefaultCalendar().createAllDayEvent(
    `Check on status of re:${sheetName} application`,
    twoWeeksLater
  );
  
  // 打印事件ID,方便后续编辑或删除
  Logger.log(`Event ID: ${event.getId()}`);
}

关键细节说明

  • 日期计算:使用new Date()获取当前系统日期,再通过setDate(getDate() + 14)直接添加14天。这种方法会自动处理跨月、闰年等边界情况,比手动计算毫秒数更稳妥。
  • 代码可读性优化:
    • 把模糊的变量名name改成sheetName,明确其用途;
    • 函数名从默认的myFunction改为addWorksheetEventToCalendar,让你在脚本列表里一眼就能识别它的功能;
    • 使用模板字符串(反引号`)拼接标题,比加号拼接更简洁。
  • 权限说明:第一次运行脚本时,Google会要求你授权脚本访问你的工作表和日历,按照提示完成授权即可。

运行步骤

  1. 打开你的Google工作表,点击顶部菜单「扩展程序」→「Apps脚本」;
  2. 替换原有代码为上面的新代码,保存项目(可命名为SheetToCalendarEvent);
  3. 点击运行按钮,完成授权后即可创建事件。

这样运行后,你的默认Google日历就会新增一个全天事件,标题包含当前活动工作表的名称,开始时间为两周后的当天。

内容的提问来源于stack exchange,提问作者user718229

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:25:36