将所有文件附加到文件夹中存在的电子邮件的应用程序脚本
apps script to attach all files to email that exist in a folder
下面是我目前使用我的代码所处的位置。附加一个文件就可以了。它仅附加文件夹中的最后一个文件。我希望它附加所有文件。
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
})
下面是我目前使用我的代码所处的位置。附加一个文件就可以了。它仅附加文件夹中的最后一个文件。我希望它附加所有文件。
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
})