お問い合わせ
    氏名

    メールアドレス

    件名

    お問い合わせ内容



    会員登録(無料)
    ログイン
    スキルアップは今すぐこちら!▶

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

    GAS(グーグルアップススクリプト)
    この記事は約2分で読めます。

    自動メールを送信

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

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

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

    スクリプトエディタ

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

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

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

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

    次のif分で、

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

    という流れを作ります。

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

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

    var FIELDS の定義

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

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

    まとめ

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

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

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

    0 件のコメント

    コメント
    タイトルとURLをコピーしました