前提・実現したいこと
Googleスプレッドシートに社名、姓、名、メールアドレスを複数名分記載し、
Googleドライブ内のPDFファイルを添付して、メールを送りたい。
発生している問題・エラーメッセージ
TypeError: folder.getFileByName is not a function(行 14、ファイル「コード」) SyntaxError: missing ) after argument list(行 26、ファイル「コード.gs」) ※attachments[report]をattachments:[report]で試した際に表示
該当のソースコード
function sendMail(){ const sheet = SpreadsheetApp.getActiveSheet(); const lastRow = sheet.getLastRow();; const DOC_URL = 'https://docs.google.com/document/d/???????/'; const doc = DocumentApp.openByUrl(DOC_URL); const docText = doc.getBody().getText(); const subject = '送信テスト'; const options = {name: 'テストだよ'}; const folder = DriveApp.getFolderById('*********'); //フォルダIDを入力 const report = folder.getFileByName('abcde.pdf').next(); //file単体になっている点に注意 for(let i = 2; i <= lastRow; i++){ const company = sheet.getRange(i, 1).getValue(); const lastName = sheet.getRange(i, 2).getValue(); //姓 const recipient = sheet.getRange(i, 4).getValue(); const body = docText .replace('{社名}',company) .replace('{姓}',lastName) GmailApp.sendEmail(recipient, subject, body, options,attachments[report]); } }
試したこと
色々なサイトを調べているのですが、どうしても解消されません。
元のコードは添付なしのメール配信のもので、以下がない状態では実行ができました。
13行目 const folder…
14行目 const report…
26行目 attachments[report]
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/28 02:05