Javascript 应用程序脚本,用于将文件夹中存在的所有文件附加到电子邮件

Javascript 应用程序脚本,用于将文件夹中存在的所有文件附加到电子邮件,javascript,google-apps-script,Javascript,Google Apps Script,下面是我目前使用代码的位置。附加一个文件就可以了。它仅附加文件夹中的最后一个文件。我希望它附加所有文件 function email() { // Get attachments folder var attachementFolderId = values[cell][11]; Logger.log("Attachement Folder ID: " + attachementFolderId) var getAttachementFolder = Drive

下面是我目前使用代码的位置。附加一个文件就可以了。它仅附加文件夹中的最后一个文件。我希望它附加所有文件

   function email() {   

   // Get attachments folder
  var attachementFolderId = values[cell][11];
  Logger.log("Attachement Folder ID:  " + attachementFolderId)
  var getAttachementFolder = DriveApp.getFolderById(attachementFolderId).getFiles();

   // Get all files from the folder
 var files = DriveApp.getFolderById(attachementFolderId).getFiles();
 while (files.hasNext()) {
   var file = files.next();
   var attachements = file.getAs(MimeType.PDF);
   Logger.log(attachements)
 }

     MailApp.sendEmail({
     to: recipient,
     subject: address,
     htmlBody: "Hello <br><br>" +
               "Address:  " + address + "<br><br>" +
               "Description: " + description,
    attachments: [attachements]
    })
}

我想出来了。对于有经验的程序员来说,这可能是一个简单的错误……我所做的只是创建一个数组,每次它找到一个文件并将其作为一个blob,将其添加到数组中

attachmentsArray[attachmentsArray.length] = attachmentFiles;
是我在下面添加的代码吗

var attachmentFiles = file.getAs(MimeType.PDF);
而不是

attachments: [attachements]
我把这个

attachments: attachmentsArray

你的解决方案不对。尝试以下方法:

var attachements = [];
while (files.hasNext()) {
   var file = files.next();
   attachements.push(file.getAs(MimeType.PDF));// the push method add elements to the attachements array
   Logger.log(attachements)
 }
最后:

 MailApp.sendEmail({
 to: recipient,
 subject: address,
 htmlBody: "Hello <br><br>" +
           "Address:  " + address + "<br><br>" +
           "Description: " + description,
attachments: attachements
})

好的,我会尝试你的建议,因为这是我尝试过的一种方法,但没有成功。我下面的解决方案是可行的,那你为什么说它不对呢?我用了你的方法,它是可行的。我同意你的方法是更好的选择,但似乎我的方法也有效。你是对的,你的代码没有错,我可能误读了它,因为它不是一种非常传统的填充数组的方法:-谢谢你接受这个答案。谢谢,我也将我的标记为已回答:是的,我使用的是直接添加到数组的基本方法。这很有效,但是你的方式更好