在 Google Appscript 中抓取具有特定文件名的多个附件
Grabbing multiple attachments with a specific file name in Google Appscript
需要帮助添加 'n' 个附件。
代码如下:
for(var i = 2; i<=lr; i++)
{
var Contact_Person = ss.getRange(i,4).getValue();
var PDFs = ss.getRange(i,6).getValue();
//The above i am grabbing the PDF name from a column in My sheet.
//This name is used for generating my Mail Merge File.
var contents = DriveApp.getFolderById('1ouiQE2cERaRMC_rnSftJCqQCpr2B4x3D').getFiles();
PDFs = DriveApp.getFilesByName(Contractor_Name);
if(PDFs.hasNext())
{
var attach = [];
while(contents.hasNext())
{
var file = contents.next();
if (file.getMimeType() == "application/pdf")
{
attach.push(file);
}
}
GmailApp.sendEmail(currentEmail, Subject, messageBody,
{
attachments: [PDFs.next().getAs(MimeType.PDF), attach[0],attach[1],attach[2], attach[3],],
name: 'Test'
});
}
//This section is for me to grab 1 attachment according to the name specified for that row matching
//the Merged file in the google drive folder.
//I am also trying to attach from a separate folder N number of files to this email.
Pdfs 是一个变量,用于保存从我的电子表格中第 6 列获取的值。
此列每行有一组名称。
程序运行时会执行邮件合并,然后向特定行的用户发送电子邮件。
示例:
Email Subject Reference No. Contact Person Contractor Name PDFs
***@gmail.com Test XXXXX Mr. Dan XYZ Company XYZ Company
答案:
您可以将它们全部推送到同一个数组。
更多信息:
来自 GmailApp.sendEmail(recipient, subject, body, options)
上的文档:
Advanced parameters
attachments
BlobSource[]
an array of files to send with the email
因此您可以将它们全部附加到一个阵列中。
代码片段:
if (PDFs.hasNext()) {
var attach = [];
attach.push(PDFs.next().getAs(MimeType.PDF));
while (contents.hasNext()) {
var file = contents.next();
if (file.getMimeType() == "application/pdf") {
attach.push(file);
}
}
GmailApp.sendEmail(currentEmail, Subject, messageBody, {
attachments: attach,
name: "Test"
});
}
参考文献:
需要帮助添加 'n' 个附件。
代码如下:
for(var i = 2; i<=lr; i++)
{
var Contact_Person = ss.getRange(i,4).getValue();
var PDFs = ss.getRange(i,6).getValue();
//The above i am grabbing the PDF name from a column in My sheet.
//This name is used for generating my Mail Merge File.
var contents = DriveApp.getFolderById('1ouiQE2cERaRMC_rnSftJCqQCpr2B4x3D').getFiles();
PDFs = DriveApp.getFilesByName(Contractor_Name);
if(PDFs.hasNext())
{
var attach = [];
while(contents.hasNext())
{
var file = contents.next();
if (file.getMimeType() == "application/pdf")
{
attach.push(file);
}
}
GmailApp.sendEmail(currentEmail, Subject, messageBody,
{
attachments: [PDFs.next().getAs(MimeType.PDF), attach[0],attach[1],attach[2], attach[3],],
name: 'Test'
});
}
//This section is for me to grab 1 attachment according to the name specified for that row matching
//the Merged file in the google drive folder.
//I am also trying to attach from a separate folder N number of files to this email.
Pdfs 是一个变量,用于保存从我的电子表格中第 6 列获取的值。
此列每行有一组名称。
程序运行时会执行邮件合并,然后向特定行的用户发送电子邮件。
示例:
Email Subject Reference No. Contact Person Contractor Name PDFs
***@gmail.com Test XXXXX Mr. Dan XYZ Company XYZ Company
答案:
您可以将它们全部推送到同一个数组。
更多信息:
来自 GmailApp.sendEmail(recipient, subject, body, options)
上的文档:
Advanced parameters
attachments
BlobSource[]
an array of files to send with the email
因此您可以将它们全部附加到一个阵列中。
代码片段:
if (PDFs.hasNext()) {
var attach = [];
attach.push(PDFs.next().getAs(MimeType.PDF));
while (contents.hasNext()) {
var file = contents.next();
if (file.getMimeType() == "application/pdf") {
attach.push(file);
}
}
GmailApp.sendEmail(currentEmail, Subject, messageBody, {
attachments: attach,
name: "Test"
});
}