GASでファイルを添付し、メーリングリストで一斉送信するシステムを作成しています。
こちらで質問をさせていただき、何とか形になってきました。
今回、送信元の表示のためにコード下部(57行目)に
{
from: strFrom,
name: strSender
}
と書いて、送信元を表示させたいのですが、うまくいきません。
エラーとしては
「引数リストの後に ) がありません。(行 57)」です。
こちらは添付無しの差し込みでのテストの際は動いたのですが、添付するようになるとこのエラーの状況です。
お力をお貸しいただければ幸いです。よろしくお願いいたします。
また、昨日の「GASでの一斉送信メール(添付付き)について」という質問の中で
送信済みフラグを作ったほうが良いとのことで、追記いたしました。
こちらは上記の送信元表示のためのコードを入れずに送信してみた場合、
送信された後スプレッドシートに”送信済み”と表示されます。
こちらは正常に動作しているという認識でよいでしょうか。
初歩的な質問で恐縮です。どうぞよろしくお願いいたします。
function myFunction() { /* スプレッドシートのシートを取得と準備 */ var spreadsheet=SpreadsheetApp.getActiveSheet(); //シートを取得 var rowSheet=spreadsheet.getDataRange().getLastRow(); //シートの使用範囲のうち最終行を取得 var EMAIL_SENT = "送信済み"; /* ドキュメントを取得する */ var docTest=DocumentApp.openById("ドキュメントID"); //ドキュメントをIDで取得 var strDoc=docTest.getBody().getText(); //ドキュメントの内容を取得 ///////////////////////////////////////////// // IDで指定したスプレッドシートをPDF化したい場合// //////////////////////////////////////////// // PDF化したいスプレッドシートのID var ssid = "スプレッドシートID";// スプレッドシートのID // シートID(gid)を指定 var sheetid = "シートID"; // 指定したスプレッドシートを開く var ss = SpreadsheetApp.openById(ssid); //スプレッドシート上のシートをPDFへ変換 var pdf = ss.getAs('application/pdf'); var pdfname = "添付ファイル.pdf"; //PDFをドライブへ作成(保存されます) DriveApp.createFile(pdf).setName(pdfname); /* メール表題、fromアドレス、差出人名を準備 */ var strSubject="タイトル"; //表題 var strFrom="アドレス"; //From var strSender="なまえ"; //差出人 /* シートの全ての行について社名、姓名を差し込みログに表示*/ for(var i=2;i<=rowSheet;i++){ var strCompany=spreadsheet.getRange(i,1).getValue(); //社名 var strSecond=spreadsheet.getRange(i,2).getValue(); //姓 var strFirst=spreadsheet.getRange(i,3).getValue(); //名 var strTo=spreadsheet.getRange(i,4).getValue(); //toアドレス var strBody=strDoc.replace(/{社名}/,strCompany).replace(/{姓}/,strSecond).replace(/{名}/,strFirst); //社名、姓名を置換 Logger.log(strBody); //ドキュメントの内容をログに表示 var emailSent = spreadsheet.getRange(i,5).getValue() //E列 if (emailSent != EMAIL_SENT) { var subject = strTo;//toアドレス GmailApp.sendEmail( strTo, strSubject, strBody, {attachments:pdf} { from: strFrom, name: strSender } ); spreadsheet.getRange(i, 5).setValue(EMAIL_SENT); SpreadsheetApp.flush(); } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/11 07:33
2018/01/11 07:43
2018/01/11 08:54
2018/01/11 11:05