我如何使用Google Apps脚本自动执行每周文档创建

我们使用Google文档在各个部门之间创建每周业务评论并与之协作。 该过程的重要部分是文档的创建和分发。 因此,在每周开始时,将需要创建一个新文档(与上周的评论重复),将其重命名并通过电子邮件发送给所有利益相关者。

该任务的责任已分配给一个人。 这个人开始认真地遵循这个过程,一切都很好。 问题开始于该人请病假,突然间,没有人收到有关本周讨论的文件。 我们的团队跨不同时区工作。 延迟发送文档意味着某些成员将无法在晚上进行处理。

因此,我着手编写一个Google Apps脚本来自动创建和分发每周审阅文档,下面将对此进行介绍。


如果您不熟悉Google Apps脚本,不必担心,那么入门很容易。 只需打开Goog​​le表格,然后转到工具>脚本编辑器即可。 用Google的话来说,

Google Apps脚本是一种JavaScript云脚本语言,它提供了简便的方法来自动执行跨Google产品和第三方服务的任务以及构建Web应用程序。

我首先列出了我需要执行的步骤:

  1. 确定审查文件的名称。 我的文档名称命名为:“ Weekly_Status_ < 上周一的日期> __ < 上周日的日期>”
    进一步来说:
    每周状态_MMMDD_MMMDD_YYYY
    例如, Weekly_Status_Sep25_Oct01_2017
  2. 根据命名从GDrive中的相关文件夹中搜索最后一个WBR(每周业务回顾文档)。
  3. 复制它,然后根据命名重命名新文件。
  4. 通过电子邮件将新文件发送给具有定制主题和正文的相关利益相关者。
  5. 安排脚本在每个星期一运行。

我首先定义一个日期变量:

  var varDate = new Date(); 

我的下一步是获取最后一个星期一的日期。 我将使用它来获取先前的WBR并为新的WBR设置日期。

我将根据我的术语格式化该日期。

  var prevDateMon = Utilities.formatDate(varDate,“ GMT”,“ MMMdd_”); 

进一步,

现在我有了上周的WBR的名称,我继续执行步骤2,即在GDrive中搜索文档。 我首先进入相关文件夹。 需要确保我有权访问它。 然后,我们在文件夹中搜索文档:

我们将复制此文档,然后根据我们的命名法将其重命名为新名称(将其存储在名为newDate的变量中)。


接下来,我创建一个名为sendEmail()的函数,以将有关WBR的电子邮件发送给相关用户。 它将新文档的URL和新日期作为参数。


最后一步是设置触发器,以便每周一发送此电子邮件。 您可以根据自己的需要自定义此时间。 可以通过单击脚本编辑器中保存图标旁边的时钟图标来设置触发器。 确保您提供了运行该功能的权限。

而已! 您的每周报告将根据您选择的时间表自动创建和分发。 ⏱✅