前提・実現したいこと
スプレッドシートを使ってGmailで60件ほど一括送信をしようと思っています。 宛先もGmailです。 宛先別にそれぞれのPDFがGoogleドライブの中にあります ・ファイルIDではなくファイル名から添付ファイルを参照させたい。 ・メールリスト全てを1通づつ送信したい ・リストに添付ファイルがない場合はメールを送らない 上記の条件で一括メール送信を行うには下記のGASコードをどう修正すれば良いでしょうか?
発生している問題・エラーメッセージ
実行すると中断するまでメールリストの1行目を永遠と送り続けてしまいます。
該当のソースコード
function send_invoice() { var spreadsheet = SpreadsheetApp.openById('{speadsheet_id_here}'); //SpreadsheetのID var sheet = spreadsheet.getSheetByName('send'); //シート名 var lastRow = sheet.getLastRow(); for(var i = 2; i <= lastRow; i ) { //getRangeの第1引数は行(1,2,3..)、第2引数はカラム(A,B,C...の順番を数値にしたもの) var filename = sheet.getRange(i,1).getValue() var report = DriveApp.getFilesByName(filename).next(); var to = sheet.getRange(i,2).getValue(); var name = sheet.getRange(i,3).getValue(); var flag = sheet.getRange(i,4).getValue(); if (flag != "NO"){ var title = "メール件名"; var content = name "様\n" "いつも大変お世話になっております。\n" "添付にて今月のインボイスをお送りいたします。\n\n" "どうぞよろしくお願いいたします。" ; GmailApp.sendEmail( to, title, content, {attachments: [report], //fromをGmail以外にする際は紐付けが必要。下記で説明。 from: 'email@example.com', cc: 'email@example.com', replyTo: 'email@example.com', name: 'My name here' } ); if (to == "") { break; } } } }
試したこと
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/18 15:02