見出し画像

初めてのGAS(Google Apps Script)|スプレッドシートの内容を本文に差し込んで、添付ファイルも付けて、Gmail一斉送信してみた。

スプレッドシートにあるメールリストに一斉送信したい。BCCでは送りたくない。本文にはそれぞれの所属と名前を入れたい。添付ファイルも付けたい。と思ったことはありませんか?

それ、本日の私です。

GAS(Google App Script)でできるのはなんとなくわかるんですが、やり方知らないしなあ。でも、とりあえずググりながら見よう見まねでやってみました。

なんと、結構簡単にできました。全員に送れた時は快感です。ちょっと苦労しましたけど、やり方公開しちゃいます!

まずはスプレッドシートを用意

ここでは架空のリストを使っています。1列目に名前、2列目に所属、3列目にメールアドレスを入力します。↓

スクリーンショット 2020-08-28 18.22.41

スプレッドシートのメニューから「ツール」をクリックします。↓

スクリーンショット_2020-08-28_18_32_52

次はスクリプトエディタ

新しいタブでスクリプトエディタが起動します。↓

スクリーンショット 2020-08-28 18.35.38

function sendMail(){

 const sheet = SpreadsheetApp.getActiveSheet();
 const lastRow = sheet.getLastRow();
 
 const DOC_URL = 'ここにドキュメントのURLをペーストします'; 
 const doc = DocumentApp.openByUrl(DOC_URL);
 const docText = doc.getBody().getText();

 const subject = 'こちらにタイトルを入力します。';

 for(let i = 2; i <= lastRow; i++){

   const namae = sheet.getRange(i, 1).getValue(); 
   const syozoku = sheet.getRange(i, 2).getValue();
   const address = sheet.getRange(i, 3).getValue();

   
   const body = docText
     .replace('{所属}',syozoku)
     .replace('{名前}',namae);
   
 var tempu = DriveApp.getFilesByName('添付ファイルの名前').next();
   
 GmailApp.sendEmail(address, subject, body, {
   name: '送信者の表示名',bcc: 'BCCで送るメールアドレス',
   attachments: [tempu]});
 }
}

上のスクリプトを、スクリプトエディタにコピペしてください。こんな感じ↓

スクリーンショット 2020-08-28 18.43.12

スクリプトエディタは一旦置いておいてドキュメント

本文はドキュメントで作成します。スプレッドシートの所属と名前を差し込みたいところに{所属}{名前}と書きます。「{」は半角入力です。↓

スクリーンショット_2020-08-28_19_19_28

このドキュメントのURLをコピーして、スクリプトエディタの6行目のシングルクオテーションマークの内側にペーストします。

次に添付ファイルの指定

メールに添付したいファイルはGoogleドライブ内に保存しておいてください。

スクリーンショット_2020-08-28_19_29_10-2

そして、ファイル名をスクリプトエディタの23行目のシングルクオテーションマークの内側にペーストします。

スクリプトエディタ仕上げ

エディタの10行目にはメールの件名(Subject)を記入します。26行目には送信者の表示名、BCCで送るメールアドレスを記入します。BCCが必要なければ'BCCで送るメールアドレス', を消しても構いません。​CCにしたければbccをccに書き換えるだけでOKです。↓

スクリーンショット_2020-08-28_19_58_25

送信

さて、送りますか。

スクリプトエディタの保存マークを押して一旦保存しましょう。そして、再生ボタンを押します。↓

スクリーンショット_2020-08-28_19_40_51

データにアクセスするためのパーミッションが出てきますが、許可してください。↓

スクリーンショット_2020-08-28_19_41_00-2

Gmail、ドキュメント、ドライブにアクセスを許可します。↓

スクリーンショット_2020-08-28_19_41_20

これで、自動送信されます。

スクリーンショット 2020-08-28 19.41.47

送信メールをみて、実際に送られているか確認しましょう。↓

スクリーンショット_2020-08-28_19_42_39

はい、できました。

GASで効率よく仕事しましょう!


スキ&フォローお願いします。


Adios.


↓Google App Scriptリファレンス・サンプルコード付き↓


個別に添付ファイルを送る場合はこちらも参考にしてください。

また、今回の記事の改訂版も書きました。こちらの方が簡単にメールを送れますので、ぜひ参考にしてみてください。


この記事が気に入ったらサポートをしてみませんか?