メルマガ風メールにデータを添付して送る ★★☆ – ビジボット

メルマガ風メールにデータを添付して送る ★★☆ - ビジボット
メルマガ風メールにデータを添付して送る ★★☆ - ビジボット
ビジネス

はじめに

どうも、bzbot(ビジボット)です。
今回作成するのは、前回作成した記事「Googleスプレッドシート – メルマガ風一括送信」の応用です!
メールを一括配信したいけどメールにデータも添付する形で送りたいなぁ。。。

そんな要望に応えるべく為作成してみましたが、個人的にはやったことない事例だったので非常に勉強になりました!

Googleスプレッドシート - メルマガ風一括送信 ★☆☆ – ビジボット

Googleスプレッドシート – メルマガ風一括送信 ★☆☆ – ビジボット

2019年2月3日

それではサクッと早速始めていきます!

1.シート名:「メール詳細」を作成

前回同様送信する為のテンプレを作成します。
以下を参考に作成してみてください!

メールフォーマット - bzbot(ビジボット)
メールフォーマット – bzbot(ビジボット)

『メール送信フォーマット』では、プログラムで値が変わる部分と固定で変わらない部分があります。
『③cc』と『④subject』は完全な固定、『⑤body』は『⑥本文』で作った文章と『①担当者名』の名前を関数でくっつけている為、ハイブリット形式。それ以外はGASで都度可変です!

ちなみにハイブリット形式のところに入っている関数は以下

=B2 & ” さま”&CHAR(10)&CHAR(10)&E6

本文カスタム - bzbot(ビジボット)
本文カスタム – bzbot(ビジボット)

2.シート名:「メーリングリスト」を作成

メーリングリストはA列に担当者、B列にアドレスを入れて一覧を作ります。
※アドレスに空欄があるとエラーになるので、注意(今度気が向いたらエラー処理ちゃんと入れます..)

アドレス一覧 - bzbot(ビジボット)
アドレス一覧 – bzbot(ビジボット)

3.コードの説明

まず、全体のコードを以下に記載します。
ここから部分的に説明していきたいと思います。

ちなみに上記実行した場合のログデータは以下です。

まずグローバル変数にスプレッドシートのシート名をセットします。

次にボタンを押した時の挙動としてポップアップが出てきて、YES or NOを選択できる表示を作ります。
今回はYESだったらメールを送信、NOだったらメールは送信しないでキャンセルしたポップアップが表示される仕様にします。

配信する情報を取得した最終行までのリスト情報を変数 mlvalue へ取得します。
メールに添付するファイルを探します。DriveApp.getFolderById(‘**************’);でGoogleDrive内にあるデータのフォルダIDを指定します。
※フォルダIDは以下場所の箇所に記載されているIDをセットします

folderIDの指定場所 - bzbot(ビジボット)
folderIDの指定場所 – bzbot(ビジボット)

取得したIDにあるファイル名(関数一覧.pdf)に一致するデータを探します。

最後に送信処理の記述です。
for文で最終行で取得した値まで処理を繰り返しながら、取得した値を一つずつ取り出してスプレッドシートにセットします。スプレッドシートにセットしたらその情報でGmailApp.sendEmail()関数に引数を渡します。

この渡すタイミングでデータファイルの指定を『{attachments:attachmentFiles}』このような形で指定する必要があります。『{attachments:こっちは取得したファイル名がセットされた変数名}』