微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google 表格电子邮件 修改点:修改后的脚本:注意:参考:

如何解决Google 表格电子邮件 修改点:修改后的脚本:注意:参考:

我需要发送 A 列中列出的所有电子邮件中的消息,请帮忙,

var e1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sampling").getRange("A:A");
var email1 = e1.getValue();
var mes1 =  crypto1 + 'our value ' + (changedd * 100) + '  Average value ' + (Sales * 100 );
MailApp.sendEmail(email1,sub1,mes1,mes1);

只有 A 列的第一个单元格收到电子邮件

解决方法

我相信你的目标如下。

  • 您希望通过从活动电子表格中“采样”表的“A”列中检索电子邮件地址来使用 MailApp.sendEmail 发送电子邮件。

修改点:

  • 在您的脚本中,email1 的值是“A”列第一行的单元格值。我了解这是您当前的问题。在这种情况下,您可以使用 getValues() 从“A”列中检索值。
  • 而且,我认为可能需要考虑空值和重复值。
  • 关于 MailApp.sendEmail(email1,sub1,mes1,mes1),当电子邮件主题为 sub1 时,请使用 sendEmail(recipient,subject,body)Ref 因为当像 MailApp.sendEmail(email1,mes1) 这样使用 4 个参数时,第二个参数是回复地址。 Ref 请注意这一点。

当以上几点反映到你的脚本中时,它变成如下。

修改后的脚本:

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sampling");
var emails = [... new Set(sheet.getRange("A1:A" + sheet.getLastRow()).getValues().reduce((ar,[a]) => {
  if (a) ar.push(a);
  return ar;
},[]))];
var mes1 =  crypto1 + 'our value ' + (changedd * 100) + '  Average value ' + (Sales * 100 );
emails.forEach(email => MailApp.sendEmail(email,mes1));
  • 在这种情况下,假设变量 crypto1changeddSalessub1 已经声明。请注意这一点。

注意:

  • 如果您想通过将电子邮件包含为 cc 来发送电子邮件,请按如下方式修改上述脚本。

    • 来自

        emails.forEach(email => MailApp.sendEmail(email,mes1));
      
    •   MailApp.sendEmail({subject: sub1,body: mes1,cc: emails.join(",")});
      

参考:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。