S1セル・・・開始番号(アンケートに回答した顧客番号)
T1セル・・・終了番号
L1セル・・・顧客名
S3セル・・・顧客メールアドレス
・・・
スプレッドシートでvlookup関数を使って、連続でアンケートの分析結果をPDF出力するコードを組みました。
PDF作成まではうまくいきました。
最後の段階で、GDRIVEに保存されたPDFを送信する段階がうまくいきません。
エラーでは、「invalid argument : attachment」と出ます。
// 下からコードの一部をコピー var attachedPDF = DriveApp.getFilesByName(filename); GmailApp.sendEmail(gmailAddress, "アンケート", "body",{attachments:[attachedPDF]});
この部分に問題があるのか?という予想ですが、(そうでない場合も含め)
どのように修正をすればよいか、お教えいただけますと助かります。
どうぞよろしくお願い致します。
function createAndSendPDF(){ var ss = SpreadsheetApp.openById(SpreadsheetApp.getActiveSpreadsheet().getId()); var sheet = ss.getSheetByName("graph"); var ReferP = sheet.getRange("s1"); var StartP = ReferP.getValue(); var EndP = sheet.getRange("t1").getValue(); var ssID = "シートID"; var sheetID = sheet.getSheetId(); var driveID = "グーグルドライブID"; var gmailAddress = sheet.getRange("s3").getValue(); for(i=StartP; i<=EndP; i++){ ReferP.setValue(i); var yourName = sheet.getRange("L1").getValue(); var filename = "アンケート_" + yourName +"様" createPDF(driveID, ssID,sheetID, filename); createDraft(gmailAddress, yourName, filename); } } // PDF作成関数 引数は(folderid:保存先フォルダID, ssid:PDF化するスプレッドシートID, sheetid:PDF化するシートID, filename:PDFの名前) function createPDF(folderid, ssid, sheetid, filename){ // PDFファイルの保存先となるフォルダをフォルダIDで指定 var folder = DriveApp.getFolderById(folderid); // PDF作成のオプション(途中コード略) // API使用のためのOAuth認証(途中コード略) var blob = response.getBlob().setName(filename + '.pdf'); } // PDFを指定したフォルダに保存 folder.createFile(blob); } ////////////////////////////////////////// //SEND GMAIL ////////////////////////////////////////// function createDraft(gmailAddress, yourName, filename){ var attachedPDF = DriveApp.getFilesByName(filename); var body = yourName + "様\n" + "\n"+ "お世話になっております。\n"+ "アンケートにご回答下さり、どうもありがとうございました。\n"+ "アンケート結果をお送りいたします。\n"+ "添付ファイルをご確認くださいませ。\n"+ GmailApp.sendEmail(gmailAddress, "アンケート", "body",{attachments:[attachedPDF]}); Logger.log(gmailAddress); Logger.log(filename); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/19 23:34 編集
2019/08/20 21:32