如何用google脚本在google表单中发送电子邮件

学习如何使用Google脚本来自动化Google生产力工具,比如表单和文档,并为自己节省数小时的时间。...

googlescripts是一个强大的工具,可以用来自动化Google生产力工具,比如表单和文档。自动发送电子邮件的能力使它成为一个非常强大的工具。

send-email-google-sheet

也许你是一名员工,希望每月给你的老板发一封电子邮件,在谷歌表格中自动计算公式。或者你是一个花费太多时间给团队成员发邮件的经理,比如绩效数据或状态更新。您将在本文中学习的googlescripts函数将帮助您完成这些任务以及更多任务。

只需一次小小的努力,您就再也不用手动发送数据了。让谷歌脚本充当你自己的私人助理,为你做所有的工作。

设置工作表以发送电子邮件

让您的Google脚本通过googlesheets发送邮件的第一步是正确设置一个包含所有姓名、电子邮件地址和发送给您希望脚本发送电子邮件的所有人的消息的表。

在我的例子中,我从一个电子表格开始,我已经设置好从google****ytics自动导入当月所有发表的文章。我已经创建了一个“所有作者”的表格来统计每个作者发表的文章,现在我想给每个作者发一封电子邮件,上面有他们的统计结果。

首先,在当前的电子表格中添加一个新的工作表,创建一个特殊的电子邮件工作表,并将其称为“发送电子邮件”。

send email google scripts

在这个新的“发送电子邮件”工作表中,您需要创建一个标题。此电子表格中的每一行将代表一封将被发送出去的单独电子邮件。所以在这个例子中,我为收件人的姓名,他们的电子邮件地址,以及我要在脚本中拼凑的信息片段创建了一个表。

send email google scripts

通过使用列将静态和动态信息拼凑在一起,您可以构建任何大小和结构的电子邮件。

send email google scripts

静态信息只是我在单元格中键入的文本。这个月不会变。它只是电子邮件信息的一部分,始终保持不变。但是,对于每个月都要更改的数据,可以**将从电子表格中的任何其他工作表导入相关数据的函数。

send email google scripts

这里的想法是,每当你打开工作表来查看你的自动报告时,你都会有一个菜单项,你可以点击它来运行send email Google脚本,并将结果分发给所有人。您将在本文底部看到如何自定义这个新菜单项。

完成工作表的创建后,它将如下所示:

send email google scripts

现在,你的所有个人电子邮件的工作表已经准备好了,终于到了写剧本的时候了!

编写自动电子邮件脚本

要编写脚本,需要使用脚本编辑器。通过选择脚本编辑器,可以在“工具”菜单下找到脚本编辑器。

send email google scripts

脚本编辑器如下所示。您需要在右侧窗格的顶部放置一个新函数。

send email google scripts

只需将下面的脚本复制并粘贴到脚本区域。

function sendArticleCountEmails() { var ss = SpreadsheetApp.getActiveSpreadsheet(); ss.setActiveSheet(ss.getSheetByName("Send-Emails")); var sheet = SpreadsheetApp.getActiveSheet(); var dataRange = sheet.getRange("A2:F4"); var data = dataRange.getValues(); for (i in data) { var rowData = data[i]; var emailAddress = rowData[1]; var recipient = rowData[0]; var message1 = rowData[2]; var message2 = rowData[3]; var parameter2 = rowData[4]; var message3 = rowData[5]; var message = 'Dear ' + recipient + ',' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3; var subject = 'Your article count for this month'; MailApp.sendEmail(emailAddress, subject, message); }}

这个脚本看起来可能有点复杂,但实际上一点也不复杂。让我们把它分解一下,这样你就能确切地知道每一行在做什么。

分解代码

为了使此功能正常工作,您需要确保存储所有电子邮件信息的工作表实际上是活动工作表。否则接下来的一切都不管用。这两条线就是为了这个:

var ss = SpreadsheetApp.getActiveSpreadsheet();ss.setActiveSheet(ss.getSheetByName("Send-Emails"));

接下来,我们需要从该表中提取所有数据。这个工作表.GetRange()方法将从引号中提供的任何单元格范围中提取信息。接下来是dataRange.getValues()方法实际上提取值并将它们存储到称为data的二维数组中。

var sheet = SpreadsheetApp.getActiveSheet();var dataRange = sheet.getRange("A2:F4");var data = dataRange.getValues();

现在所有的数据都存储在一个数组中了,我们可以使用for循环遍历数组。数组的每个元素都是一行,其中包含列元素的一维数组。可以使用数字引用每列。

var rowData = data[i];var emailAddress = rowData[1];var recipient = rowData[0];var message1 = rowData[2];var message2 = rowData[3];var parameter2 = rowData[4];var message3 = rowData[5];

如上所示,我将列元素拉入一个名为rowData的一维数组中。然后我通过引用rowData[1]引用第二列(以获取电子邮件地址),即数组的第二个元素(数组的第一个元素始终为零)。

此函数的下一步是将构成电子邮件正文的所有消息段拼凑在一起。很好的一点是,您可以通过使用\n字符(回车符)为电子邮件内容提供非常好的格式。以下是电子邮件正文的串联形式:

var message = 'Dear ' + recipient + ',' + message1 + ' ' + message2 + ' ' + parameter2 + ' ' + message3;

+字符是串联命令。将实际静态文本放在单引号内。因此,将单词“Dear”放在recipient变量前面(注意“Dear”有一个空格)将此消息拼凑在一起。

接下来,在末端添加两个回车符。这将启动正文内的实际消息向下两行。接下来添加第一个消息段、一个空格、第二个消息段、一个空格、每个月将**到消息中的变量,最后是消息的最后一部分。

您可以拥有任意多的消息片段,只需使用更多的列就可以创建完整的消息片段。

最后几行代码只设置了电子邮件的主题行(如果需要,还可以包括电子表格中的数据),最后是sendmail()方法。

如何触发脚本

回到脚本编辑器窗口,只需搜索“onOpen”函数。如果函数在那里,您可能会在括号内看到一堆代码。转到该代码的底部并**以下行:

var spreadsheet = SpreadsheetApp.getActive();var menuItems = [ {name: 'Send Emails', functionName: 'sendArticleCountEmails'}];spreadsheet.addMenu('Send Emails', menuItems);

只需确保在functionName参数的单引号中键入函数的确切名称。这将在每次打开工作表时将自定义菜单项加载到工作表中。

send email google scripts

现在,每当你每月打开电子表格查看所有数据时,你所要做的就是点击菜单项发送电子邮件。这将运行你的新功能,并为你发送所有的电子邮件。一个工作,过去需要你几个小时,现在只需要一次点击鼠标!

谷歌脚本可以帮助你节省时间

这只是一个例子,你可以使用Google脚本来自动化各种各样的事情,节省你的时间。例如,您可以使用Google脚本自动生成Google分析报告。困难的部分只是它确实需要一点前期工作,但是您使用脚本设置自动化的每一分钟都节省了很多时间。想想你在这段时间里还能做些什么!

你有没有用聪明的Google脚本来自动化你的工作效率?在下面的评论部分分享你自己的例子!

  • 发表于 2021-03-14 04:11
  • 阅读 ( 711 )
  • 分类:编程

你可能感兴趣的文章

最好的谷歌表单指南

... 常规:收集表单上的电子邮件地址并选择启用回复回执,要求登录并可选择限制为一个回复,并允许回复者编辑和查看回复详细信息。 演示:使项目能够在窗体上显示,如进度...

  • 发布于 2021-03-13 02:34
  • 阅读 ( 359 )

如何用python读写google工作表

...目目录并重命名它creds.json. 最后,打开文件并查找客户端电子邮件。这应该是您的项目名称appspot.gserviceaccount.com. 使用此电子邮件地址共享您的Google工作表(右上角>共享>输入电子邮件)。 ...

  • 发布于 2021-03-16 13:43
  • 阅读 ( 583 )

10个高级google表单提示和技巧

... 如果您希望在有人提交您的表单时接收电子邮件通知,只需单击两次即可设置。 ...

  • 发布于 2021-03-18 23:28
  • 阅读 ( 682 )

需要google套件吗?尝试佐贺的4个理由

... 1免费在您自己的域中发送电子邮件 ...

  • 发布于 2021-03-20 05:22
  • 阅读 ( 155 )

什么是google脚本?如何编写你的第一个谷歌应用程序脚本

...表板 从Google Sheets或任何其他Google服务发送电子邮件 ...

  • 发布于 2021-03-22 18:15
  • 阅读 ( 230 )

如何用树莓皮打造diy谷歌家庭助理

语音控制助理很快就变得司空见惯了。许多家庭都有一个Alexa或googlehome来控制从灯光到媒体的一切,甚至计时。 ...

  • 发布于 2021-03-22 22:23
  • 阅读 ( 359 )

如何从google表单自动发送月度发票

...对宏执行相同的操作。宏可以很好地打包您的**,并通过电子邮件发送到您喜欢的任何电子邮件地址。 ...

  • 发布于 2021-03-23 13:40
  • 阅读 ( 267 )

发送一条短信息如何将网页备份到google驱动器

... 接下来,您需要创建一个Google脚本,将该URL转换为PDF格式,并将其保存在Google驱动器帐户的一个特殊的“MyArticles”文件夹中。别担心,我们已经为你写了剧本,而且很简单。 ...

  • 发布于 2021-03-23 15:07
  • 阅读 ( 255 )

5酷自定义数据仪表盘,你可以与谷歌网站

... 监视您的电子邮件 分析网站性能 创建时间管理系统 随时了解现场新闻 保存您最喜爱的位置 ...

  • 发布于 2021-03-24 21:55
  • 阅读 ( 254 )

如何用宏自动化google工作表中的重复任务

录制任务,保存该任务,然后随时运行该任务。 ...

  • 发布于 2021-03-24 23:19
  • 阅读 ( 286 )
yokiy03
yokiy03

0 篇文章

相关推荐