我正尝试将多个Excel文件(.xlsx)作为附件发送到单独电子邮件中的一个电子邮件地址。例如,100个excel文件(.xlsx)表示发送100个单独的电子邮件。有什么方法可以使用App Script自动执行此手动过程?我对App Script还是很陌生,并且正在尝试如下图所示:
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var lr = ss.getLastRow();
for i in range(lr): ##
var attachment_file = ss.getRange(i, 2).getValue()
MailApp.sendEmail("aa@example.com", "blank", "blank", {
attachments: [attachment_file.getAs(MimeType.xlsx)]
});
xlsx文件有大小限制吗?
答案 0 :(得分:0)
假设您的文件在云端硬盘中并且具有唯一的名称,则可以使用DriveApp
和MailApp
来做到这一点。
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var lr = sheet.getLastRow();
var fileNames = sheet.getRange(1, 2, lr, 1).getValues();
var xlsxMT = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
for (var i = 0; i < lr; i++) { // modified
let file = DriveApp.getFilesByName(fileNames[i][0]).next(); // modified
MailApp.sendEmail("aa@example.com", "blank", "blank", {
attachments: [file.getAs(xlsxMT)] // modified
});
}
}
修改:
for
循环之外的所有文件名,以节省处理时间。DriveApp.getFilesByName()
使用工作表中的文件名获取文件。注意:假设云端硬盘中只有一个文件具有该名称。application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
MIMEType附加的文件。我希望这对您有帮助!