首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Google电子表格和Google脚本发送多个附件

使用Google电子表格和Google脚本发送多个附件
EN

Stack Overflow用户
提问于 2018-12-04 17:20:03
回答 1查看 1.9K关注 0票数 0

我试图使用谷歌电子表格发送多个附件,但我得到了以下错误:“无法检索下一个对象:迭代器已到达终点”。

它确实有效,因为它将电子邮件发送到列表中的第一个电子邮件地址,但对于第二个地址则失败。

我在这里看到了类似的问题,但没有解决我的问题的办法。

下面是脚本:

代码语言:javascript
运行
复制
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 1;
var numRows = 2; 
var dataRange = sheet.getRange(startRow, 1, numRows, 2);
var file1 = DriveApp.getFilesByName('Maandbrief December.pdf');
var file2 = DriveApp.getFilesByName('Weekendbrief 7-9 december.pdf');
var data = dataRange.getValues();
for (i in data) {
    var row = data[i];
    var emailAddress = row[0];
    var message = row[1];
    var subject = "Maandbrief December en weekendbrief 7-9 december"; 
    MailApp.sendEmail({to:emailAddress, subject:subject, body:message, attachments: [file1.next(), file2.next()]})
}}

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-04 19:47:42

试试这个:

代码语言:javascript
运行
复制
function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 1;
  var numRows = 2; 
  var dataRange = sheet.getRange(startRow, 1, numRows, 2);
  var files1 = DriveApp.getFilesByName('Maandbrief December.pdf');
  while(files1.hasNext()){var file1=files1.next();}
  var files2 = DriveApp.getFilesByName('Weekendbrief 7-9 december.pdf');
  while(files2.hasNext()){var file2=files2.next();}
  var data = dataRange.getValues();
  for (var i=0;i<data.length;i++) {
    var row = data[i];
    var emailAddress = row[0];
    var message = row[1];
    var subject = "Maandbrief December en weekendbrief 7-9 december"; 
    MailApp.sendEmail({to:emailAddress, subject:subject, body:message, attachments: [file1, file2]})
  }
}

或者这个:

代码语言:javascript
运行
复制
function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 1;
  var numRows = 2; 
  var dataRange = sheet.getRange(startRow, 1, numRows, 2);
  var n1=0;
  var n2=0;
  var files1 = DriveApp.getFilesByName('Maandbrief December.pdf');
  while(files1.hasNext()){var file1=files1.next();n1++;}
  var files2 = DriveApp.getFilesByName('Weekendbrief 7-9 december.pdf');
  while(files2.hasNext()){var file2=files2.next();n2++}
  var data = dataRange.getValues();
  if(n1==1 && n2==1){
    for (var i=0;i<data.length;i++) {
      var row = data[i];
      var emailAddress = row[0];
      var message = row[1];
      var subject = "Maandbrief December en weekendbrief 7-9 december"; 
      MailApp.sendEmail({to:emailAddress, subject:subject, body:message, attachments: [file1, file2]});
    }
  }else{
    throw('More than one file with given name.');
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53618345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档