Googleスプレッドシートを使用して、セル値に基づいてメールを送信する
Google Apps Scriptを使用して、Googleスプレッドシートから直接メールを送信できることをご存知ですか?いくつかの簡単なコードを使用すると、セル値を使用して受信ボックスへのアラートメッセージをトリガーできます。
Googleスプレッドシートからメールを送信するには、Google Appsスクリプトを使用する必要があります。ただし、これまでに1つのGoogle Appsスクリプトを作成したことがない場合でも、メールの送信は非常に簡単です。
次のチュートリアルでは、学習しますGoogleスプレッドシートのセルの値を確認する方法。値が特定のしきい値を超えている場合は、好きなメールアドレスにアラートメールを自動的に送信できます。
このスクリプトには多くの用途があります。 販売レポートの1日の収益が特定のレベルを下回った場合、アラートを受け取ることができます。または、プロジェクトトラッキングスプレッドシートで、従業員からクライアントへの請求が長すぎると報告された場合にメールを受け取ることもできます。
アプリケーションに関係なく、このスクリプトは非常に強力です。また、スプレッドシートの更新を手動で監視する時間を節約できます。
ステップ1:Googleスプレッドシートでメールを送信する
Googleスプレッドシートからメールを送信するGoogle Appsスクリプトを作成する前に、Gmailメールアドレスも必要になります。Gmailメールアドレスは、アラートメールを送信するためにアクセスします。
また、メールアドレスを含む新しいスプレッドシートを作成する必要があります。
名前列と電子メール列を追加し、アラート電子メールを受け取りたい人を記入してください。
アラートメールを送信するためのメールアドレスを取得したら、スクリプトを作成します。
スクリプトエディタに入るには、をクリックします 道具、そしてクリック スクリプトエディター.
というデフォルトの関数を備えたスクリプトウィンドウが表示されます myFunction()。この名前を メールを送る().
次に、SendEmail()関数内に次のコードを貼り付けます。
// Fetch the email address
var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("B2");
var emailAddress = emailRange.getValues();
// Send Alert Email.
var message = "This is your Alert email!"; // Second column
var subject = "Your Google Spreadsheet Alert";
MailApp.sendEmail(emailAddress, subject, message);
このコードの仕組みは次のとおりです。
- getRange そして getValues getRangeメソッドで指定されたセルから値を取得します。
- varメッセージ そして var subject アラートメールを作成するテキストを定義します。
- の MailApp.sendEmail 関数は最終的に、接続されたGoogleアカウントを使用してGoogleスクリプトのメール送信機能を実行します。
をクリックしてスクリプトを保存します ディスク アイコンをクリックし、クリックして実行します 走る アイコン(右矢印)。
Googleスクリプトには、Gmailアカウントにアクセスしてメールを送信する許可が必要です。そのため、スクリプトを初めて実行すると、次のようなアラートが表示される場合があります。
クリック 権限を確認する、バイパスする必要がある別のアラート画面が表示されます。
このアラート画面は、公式のGoogleスクリプトとして登録されていないカスタムのGoogleスクリプトを作成しているためです。
クリックするだけ 高度な、そしてクリック SendEmailにアクセス(安全でない) リンク。
これは一度だけ行う必要があります。スクリプトが実行され、スプレッドシートで指定したメールアドレスに次のようなメールが届きます。
ステップ2:Googleスプレッドシートのセルから値を読み取る
アラートメールを送信できるGoogle Appsスクリプトを正常に作成できたので、次はアラートメールをより機能的にします。
次のステップは、Googleスプレッドシートからデータ値を読み取り、値を確認し、その値が上限を超えているか下回る場合にポップアップメッセージを発行する方法です。
これを行う前に、作業中のGoogleスプレッドシートに別のシートを作成する必要があります。この新しいシートを「MyReport」と呼びます。
セルD2は、確認して比較するセルであることに注意してください。総売上が16,000ドルを下回ったかどうかを毎月知りたいと想像してください。
それを行うGoogle Apps Scriptを作成しましょう。
をクリックして、スクリプトエディタウィンドウに戻ります。 道具 その後 スクリプトエディター.
同じスプレッドシートを使用している場合でも、 メールを送る() そこに機能します。そのコードを切り取り、メモ帳に貼り付けます。後で必要になります。
次の関数をコードウィンドウに貼り付けます。
function CheckSales() {
// Fetch the monthly sales
var monthSalesRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("MyReport").getRange("D2");
var monthSales = monthSalesRange.getValue();
var ui = SpreadsheetApp.getUi();
// Check totals sales
if (monthSales < 16000){
ui.alert("Sales too low!");
}
}
このコードの仕組み:
- セルから値を読み込む D2 に monthSales 変数。
- IFステートメントは、セルD2の月間売上を16,000ドルと比較します
- 値が16,000を超える場合、コードはアラート付きのブラウザーメッセージボックスをトリガーします。
このコードを保存して実行します。正常に機能する場合、ブラウザに次の警告メッセージが表示されます。
これで、Google Apps Scriptができました。メールアラートとスプレッドシートの値を比較できる別のスクリプトを送信すると、アラートメッセージをトリガーする代わりに2つを組み合わせてアラートを送信する準備が整います。
ステップ3:すべてをまとめる
ここで、作成した2つのスクリプトを1つのスクリプトに結合します。
この時点で、アラートの電子メール受信者を含むSheet1というタブのあるスプレッドシートが作成されているはずです。 MyReportというもう1つのタブには、すべての販売情報が含まれています。
スクリプトエディタに戻り、これまでに学んだことをすべて実践に移します。
スクリプトエディターのすべてのコードを、次のように編集した2つの関数に置き換えます。
function CheckSales() {
// Fetch the monthly sales
var monthSalesRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("MyReport").getRange("D2");
var monthSales = monthSalesRange.getValue();
// Check totals sales
if (monthSales < 16000){
// Fetch the email address
var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("B2");
var emailAddress = emailRange.getValues();
// Send Alert Email.
var message = "This month your sales were " + monthSales; // Second column
var subject = "Low Sales Alert";
MailApp.sendEmail(emailAddress, subject, message);
}
}
ここでの編集に注目してください。
IFステートメント内に、貼り付けます メールを送る 内部のスクリプト CheckSales() ifステートメントブラケット内の関数。
第二に、連結 monthSales 変数を使用して、電子メールメッセージの最後に + キャラクター。
あとは、毎月CheckSales()関数をトリガーするだけです。
これを行うには、スクリプトエディターで:
- クリックしてください 編集 メニュー項目をクリックしてから 現在のプロジェクトのトリガー.
- 画面の下部で、をクリックします 新しいトリガーを作成する.
- を選択 CheckSales 実行する関数。
- 変化する イベントソースを選択 に 時間駆動.
- 変化する 時間ベースのトリガーの種類を選択 に 月タイマー.
クリック セーブ トリガーを確定します。
これで、毎月新しいスクリプトが実行され、セルD2の月間総販売額が16,000ドルと比較されます。
少ない場合は、月間売上が低いことを通知するアラートメールを送信します。
ご覧のとおり、Google Apps Scriptsは多くの機能を小さなパッケージにまとめています。ほんの数行の簡単なコードで、かなり驚くべきことができます。
さらに実験したい場合は、追加してみてください16,000ドルの比較制限をスプレッドシートの別のセルに追加し、比較を行う前にスクリプトに読み込みます。この方法では、シートの値を変更するだけで制限を変更できます。
コードを微調整して新しいコードブロックを追加することで、学習したこれらの簡単なことを基に、最終的にいくつかのすばらしいGoogleスクリプトを構築できます。
コメントを残す