質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

503閲覧

GASでのメール一斉送信時の送信元表示につきまして

mariko163

総合スコア11

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2018/01/11 03:21

編集2018/01/11 03:22

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(); } } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

引数リストの後に ) がありません。(行 57)

こちらのエラーに対する回答です。
{attachments:pdf}の後ろに,が抜けているようです。

投稿2018/01/11 06:40

sublimer

総合スコア403

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mariko163

2018/01/11 07:33

回答ありがとうございます。 頂きましたように追記いたしましたところ、 別のエラーが発生してしまい、調べているのですが解決できずにおります、、 「メソッド sendEmail(string,string,string,object,object) が見つかりません。」 です。 ``` { from: strFrom, name: strSender, } ``` こちらを入れる位置が悪いのでしょうか?
mariko163

2018/01/11 08:54

ありがとうございます。 {}の中、optionに attachments:pdfだけでなく from: strFrom, name: strSender も含めないといけないのですね。 無事に動作いたしました。ご親切にありがとうございます。
sublimer

2018/01/11 11:05

解決したようで良かったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問