お世話になります。
こちらのサイトを参考に、スプレッドシートに登録されている人にメールを一括送信するgasを組んでいます。
https://liapoc.com/bulk-transmission.html
実際に実行すると、メールは送信されますが、for 構文が最後の空の列を取得して終わります。
動作が一回分多いのですが、これをどう変更すればよろしいでしょうか?
よろしくお願いいたします。
gas
1function myFunction() { 2 3 4var mySheet = SpreadsheetApp.getActive().getSheetByName('連絡先'); 5var rowSheet = mySheet.getDataRange().getLastRow(); 6 7 8var docTest=DocumentApp.openById("/*documentID*/"); 9var strDoc=docTest.getBody().getText(); 10 11for(var i=2;i<=rowSheet;i++){ 12//for(var i=2;i<=rowSheet;i--){修正のご指摘をいただきました。 13 14var strEmail=mySheet.getRange(i,1).getValue(); 15var strSei=mySheet.getRange(i,2).getValue(); 16var strMei=mySheet.getRange(i,3).getValue(); 17 18var strBody=strDoc.replace(/{姓}/g,strSei).replace(/{名}/g,strMei); 19 20 21/* メール表題、fromアドレス、差出人名を準備 */ 22var strSubject = strSei + " " + strMei+"様 ●●●●●●●●"; //姓 名 様 メールタイトル 23var strFrom="/*Mailadress*/"; //From 24var strSender="/*Name*/"; //差出人 25 26 27 /* メールを送信 */ 28 MailApp.sendEmail( 29 strEmail, //toアドレス 30 strSubject, //メールタイトル 31 strBody, //本文 32 { 33 from: strFrom, //fromアドレス 34 name: strSender //差出人 35 } 36 ); 37 38 } 39}
回答2件
あなたの回答
tips
プレビュー