スキルアップを始める!

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

GAS(GoogleAppsScript)
GAS(GoogleAppsScript)
この記事は約2分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

自動メールを送信

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

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

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

スクリプトエディタ

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

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

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

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

次のif分で、

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

という流れを作ります。

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

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

var FIELDS の定義

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

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

まとめ

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

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

便利ですのでお試し下さい♪

URLをコピーしました!