2015-05-04 1 views
0

Ниже приведено мое местонахождение. Он отлично подходит для прикрепления одного файла. Он прикрепляет только последний файл в папке. Я хочу, чтобы он прикреплял все файлы.сценарий приложений для прикрепления всех файлов к электронной почте, которые существуют в папке

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] 
    }) 
} 

ответ

0

Ваше решение не является правильным. попробовать, как показано ниже:

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 
}) 
+0

хорошо, я постараюсь ваше предложение, как это один из способов я пытался, но не получил его на работу. Решение, которое у меня ниже, работает, так почему вы говорите, что это неправильно? – zigmens

+0

Я использовал ваш метод, и он работает. Я согласен, что ваш метод - лучший вариант, но похоже, что мой метод также работает. – zigmens

+0

Вы правы, ваш код не был неправильным, я, вероятно, неправильно его прочитал, поскольку это не очень обычный способ заполнить массив :-) Спасибо, что приняли этот ответ. –

0

Я понял. Вероятно, простая ошибка для опытных кодеров ... все, что я сделал, это создать массив и каждый раз, когда он находит файл и получает его как blob, добавьте его в массив.

attachmentsArray[attachmentsArray.length] = attachmentFiles; 

код, который я добавил чуть ниже

var attachmentFiles = file.getAs(MimeType.PDF); 

Тогда вместо

attachments: [attachements] 

Я поставил этот

attachments: attachmentsArray 
Смежные вопросы