GASでGoogleスプレッドシート のボタンを押すだけでメールを送信する!

GASでGoogleスプレッドシート のボタンを押すだけでメールを送信する!
GASでGoogleスプレッドシート のボタンを押すだけでメールを送信する!
ビジネス

はじめに

どうも、ビジボットです。
今回GoogleAppsScript (GAS)を使って、スプレッドシート上のボタンを押すだけで自動でメールが送信されるというコードを紹介します。
使うイメージで例えば開発がテストメールを指定した件名や内容で送らないといけない場合、そのサンプルメールがボタンを押すたびに送信できたり、サンプルメールで一部可変部分があった場合にスプレッドシート上で指定する事で、送信されるメールがカスタムできたりと、様々な部分で便利になります。

1.送信フォーマットを作成する

POINT

スプレッドシート上に以下送信したいアドレスと、件名、本文を入れておきます。またシート名を「メールテンプレ」と指定する事で、これがそのまま送信されるテンプレートになります。

メールテンプレシート - bzbot(ビジボット )
メールテンプレシート – bzbot(ビジボット )

2.GASコード

POINT

GASは送信するスプレッドシート情報を取得し、それぞれのセルに入っている値をそれぞれの変数に指定して、GmailApp.sendEmailで送信します。

詳細は説明していきます。

GASコード

以下GASですが、まず変数sheetに対して実行するスプレッドシートを指定します。
※よくActiveで指定をしていますが、気分で変えますがだいたいActiveが一般的かも?

GASコード

以下GASは送信したいアドレスを取得します。
getRange(1,2)はセルの番地を指定しており、1行目の2列目に取得したい値が入っているため、(1,2)と指定します。また、getValueはその指定した値を取得する処理です。
※ここで先にアドレス情報だけ取得しているのには理由があります

GASコード

次に取得したアドレスを元に、そのアドレスに対して本当に送信しますか?というメッセージボックスを表示させ、送信前の最終チェックを行います。
送信OKだったらプログラムを実行、それ以外(キャンセル)だったら処理を終了、という書き方をしています。

送信確認POPUP - bzbot(ビジボット )
送信確認POPUP – bzbot(ビジボット )
GASコード

送信OKだった場合の処理は簡単なのでサクッと説明しちゃいます。

まず、if文でpopUpに指定された値が’ok’だった場合はTRUEとして以下処理が実行され、変数add同様件名の取得、本文の取得が行われます。
次にGmailApp.sendEmail関数で引数に取得している送信情報を指定して渡すとメールが送信されます。
この受け渡しが終わったら送信した旨を記載したメッセージボックスを表示します。

送信完了POPUP - bzbot(ビジボット )
送信完了POPUP – bzbot(ビジボット )

※キャンセルの場合はキャンセルポップアップが表示されます

GASコード
受信結果メール - bzbot(ビジボット )
受信結果メール – bzbot(ビジボット )

3.送信するボタンを設置する

POINT

最後に、作ったプログラムをスプレッドシート上で実行できるようにします。
スプレッドシートの挿入から図形を選択後、ボタンをクリックすると右上に点が3つ出てくるのでこれをクリックすると「スクリプトの割り当て…」とあるので、割り当てます。

スクリプト割り当て方法 - bzbot(ビジボット )
スクリプト割り当て方法 – bzbot(ビジボット )

どのスクリプトを割り当てますか?と出てくるので作成した以下function名(goGoGmail)を入れます。

GASコード
スクリプト入力画面 - bzbot(ビジボット )
スクリプト入力画面 – bzbot(ビジボット )

これでボタンを押すたびに実行され、ポップアップが表示されて送信するか否かが問われます。(笑)
※ボタンは右クリックで修正できます

明日はこの応用をすこしトライしてみようと思います。
最後までお付き合い頂きありがとうございました!