Email 如何向每周更新的单元格范围内的多个地址发送电子邮件?

Email 如何向每周更新的单元格范围内的多个地址发送电子邮件?,email,google-apps-script,Email,Google Apps Script,我是编程新手。我已经设置了一个谷歌电子表格,它将每周向那些即将完成任务的人发送一封电子邮件提醒。电子表格会自动提取每周分配的4个电子邮件地址,并将其放置在A1、B1、A2、B2(即A1:B2)中。我希望脚本找到4个电子邮件地址(每周更改),并将相同的电子邮件发送给所有四个地址 当我将抄送收件人硬编码到MailApp行中时,效果很好。但是因为收件人列表每周都会更改,所以我想改为引用单元格A1:B2。当我尝试这样做时,我会收到一个无效的电子邮件错误。调试器显示var ccrecipients正在拾取

我是编程新手。我已经设置了一个谷歌电子表格,它将每周向那些即将完成任务的人发送一封电子邮件提醒。电子表格会自动提取每周分配的4个电子邮件地址,并将其放置在A1、B1、A2、B2(即A1:B2)中。我希望脚本找到4个电子邮件地址(每周更改),并将相同的电子邮件发送给所有四个地址

当我将抄送收件人硬编码到MailApp行中时,效果很好。但是因为收件人列表每周都会更改,所以我想改为引用单元格A1:B2。当我尝试这样做时,我会收到一个无效的电子邮件错误。调试器显示var ccrecipients正在拾取正确的单元格,但我认为问题在于它将其作为数组而不是字符串返回。这是我所能解释的

我的几段代码:

var ccrecipients = sheet.getRange('A1:B2').getValues();

MailApp.sendEmail(recipients, subject, "", {htmlBody: message, cc: ccrecipients});

提前感谢你的帮助。我非常依赖这些论坛来整合我的代码。在这之前,我一直都能找到答案。谢谢

您的观察几乎是正确的,
sheet.getRange('A1:B2').getValues()返回一个数组数组,类似于
[[A1,B1],[A2,B2]]
A&B表示单元格中的值,以简化我的示例

最后您需要的是一个“扁平”字符串,其中所有需要的收件人都用逗号分隔
“A1、B1、A2、B2”

最简单的方法是将整个内容展平,这将创建一个带有逗号分隔的字符串,这正是我们需要的

sheet.getRange('A1:B2').getValues().toString();

这应该可以奏效;-)

谢尔盖,谢谢你的快速回复!我输入了新代码,但仍然收到无效的电子邮件错误。调试器现在显示如下结果:[“email1@whatever.com", "email2@whatever.com", "email3@whatever.com, "email4@whatever.com“].有什么想法吗?哎呀,没有完全看到你的评论…对我来说很好…等一下,我会进一步测试的。对不起,我错了。代码已编辑。[13-12-03 16:19:30:283 EST][email1@whatever.com, email2@whatever.com, email3@whatever.com, email4@whatever.com]很抱歉,我一定是漏掉了什么。您的原始答复似乎没有改变。??无论如何,我重新复制并粘贴到脚本中,它仍然显示无效电子邮件。我的答复已修改,可能尝试刷新您的浏览器。代码为sheet.getRange('A1:B2').getValues().toString();