エグウェブ.JP@オンライン/WEB講座・セミナー・WEB分析

WEB分析・ホームページ・WEBサイト作成・WordPress、Googleアナリティクス、LINEスタンプ、Photshop・illustrator、Excelの講座やオンラインセミナーを開催中!

【GoogleAppsScript入門】Googleスプレッドシートのセルの状態に変更があった場合に自動メールを送信する方法

time 2019/07/12

自動メールを送信

例えば、このような顧客表があったとして、

※架空に生成したデータです。実在の人物ではありません。

『状態』を完了に変更した時に、「完了しました」の自動メールを送信させる方法です。

スクリプトエディタ

「ツール」>「スクリプトエディタ」を開きます。

B列が「完了」に変わった時に「onChangeStatus()」を動かすようなスクリプトを準備します。

まずは、下記のような流れを作ります。

.rangeでセル範囲を取得(cellに格納)
.valueで値を取得(statusに格納)
.getSheet()でシート名を取得(sheetに格納)
.getColumn()で列を取得 (columnに格納)
.getRow()で行を取得 (rowに格納)
.getLastRow()で最終行を取得 (lastrowに格納)

次のif分で、

「2列目かつ2行目以上最終行以下かつステータスが「完了」となっている場合にsendEmail()を実行(メールを送信する)」

という流れを作ります。

この「2列目かつ、」が無いと、どのセルを編集していてもメールが送信されてしまうことになるので、大量のメールが送信されることになります。

条件式の確認は・・・慎重さが必要です。気を付けましょう。

var FIELDS の定義

・アクティブシートのデータ全体を二次元配列に格納。データを取り出す
・メールの送信先アドレス、件名、本文を文字列として生成
・メールの作成および送信

これで、B列が「完了」になったら、下記のようなメールが自動で届くようになります。

まとめ

手動でメール送信でも良いのですが、セルが変わった瞬間にメールが自動送信される、というのは便利ですし、毎回同じようなメールを送る、ということであれば、間違いが少なくなるかと思います。

ちょっとしたスクリプトですが、きっと業務効率化に約立つかと思います!

便利ですのでお試し下さい♪
\(^o^)/

download(ダウンロード)

プロフィール

EGUWEB

EGUWEB

【皆さまの人生に最良のファーストステップを】WEBサイトを作りたい!WEB分析を学びたいけど分からない。とりあえず色々と知りたい!皆様の悩みを解決できるように頑張ります。 [詳細]

カテゴリー