2017-09-16 31 views
0

私は文書を生成し、PDFとして保存して電子メールに添付するスクリプトを用意しています。この添付ファイルに加えて、私はGoogleドライブ(用語)に保存された既存のPDFである2番目の添付ファイルを追加しようとしています。次のコードが2番目のドキュメントを添付しないのはなぜですか?電子メールに複数の添付ファイルを追加する

if (email_status == "YES") { 
    //send a pdf copy to customer 
    var pdfEMAIL = DriveApp.getFileById(doc.getId()).getAs('application/pdf').getBytes(); 
    var terms = DriveApp.getFileById('file ID'); 
    var message = "Hi " + usernamefordoctitle + "!, please kindly find your invoice attached.\nMany Thanks!\nMe"; 
    var emailAdd = sheet.getRange("D2").getValue() 
    var emailTo = emailAdd; // add customer email here 
    var subject = "Invoice for " + usernamefordoctitle + " from ME" + " - Invoice Number : " + newInvNumber; 

    var attach = {fileName:"INVOICE " + newInvNumber + " " + usernamefordoctitle + '.pdf',content:pdfEMAIL, mimeType:'application/pdf'}; 

    MailApp.sendEmail(emailTo, subject, message, {attachments:[attach, terms.next()]}); 
    ss.toast("70%: emailed customer"); 
    Utilities.sleep(sleepINT); 

    } 

答えて

1

あなたは

terms.next() 

getFileByIdはあなたに与えられたIDを持つ1特定のファイルを取得するので、これは、間違っていますが続く

terms = DriveApp.getFileById('file ID'); 

を持っています。あなたはファイルイテレータを返すgetFilesByNameのような他のメソッドを考えていました。メソッド名は、getFileとgetFilesの戻り値の手がかりになります。

だから、単に

{attachments:[attach, terms]} 

を装着しても機能します。

terms.getAs(MimeType.PDF) 

などのMimeTypeを指定して、たとえばGoogle DocをPDFとして送信することもできます。

関連する問題