GoogleSpreadSheetを使って指定時刻にメールを送信するプログラムを作ってみました。
GoogleSpreadSheetはExcelのように有料のライセンスが不要なので、使えると便利かなと思い、作ってみました。
GoogleSpreadSheetから自動で予定をメールお知らせ
予定がいっぱいあると、忘れてしまいがちなので、事前に通知してくれるアプリが欲しいと思っていました。
なので、以前C#で予定...
メール送信のGASスクリプト
メール送信をするGASのスクリプトは以下です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
//==============================================' //目的 :メール送信処理 //引数 : //戻り値 : //==============================================' function sendEmails() { var sheet = SpreadsheetApp.getActiveSheet(); // シートの取得 var startRows = 2; // 開始行数 var sheetData = sheet.getSheetValues(startRows, 1, sheet.getLastRow(), sheet.getLastColumn()); // シートのデータを取得(2次元配列) var dtLimit = new Date(); // 現在時刻を取得 // シートの各行ごとにデータを取り出す sheetData.forEach(function(value, index) { // 送信完了していない、かつ送信予定日時が現在時刻より前ならば、メールを送信する if (!value[4] && (new Date(value[3])).getTime() < dtLimit.getTime()) { MailApp.sendEmail(value[0], value[1], value[2]); // メールを送信する sheet.getRange(startRows + index, 4 + 1).setValue(dtLimit); // 送信完了日時をシートに書く } }); } |
送信元の情報は以下が例です。
Excel VBA メール送信ツール(フリーメール)VBAでメール送信について紹介します。
自動でメール送信するツールを作ってみました。
今回はOutlookではなくフリーメー...
指定した時刻にGASを実行する設定
指定した時間にメールを送る設定を行う必要があります。
以下のスクリプトを実行します。
以下は19:45分にsendEmailsを呼び出してメール送信させる設定です。
スクリプト
1 2 3 4 5 6 7 8 9 10 11 12 |
//==============================================' //目的 :指定時刻に"sendEmails"を実行する //引数 : //戻り値 : //==============================================' function setTrigger() { var setTime = new Date(); setTime.setHours(19); //〇〇時の設定 setTime.setMinutes(45); //××分の設定 ScriptApp.newTrigger('sendEmails').timeBased().at(setTime).create(); } |
実行方法
まずはスプレッドシート画面から以下の順でスクリプトエディタを開きます。
「ツール」 → 「<> スクリプトエディタ」
スクリプトエディタから以下の順でスクリプトを実行します。
「実行」→「関数を実行」→「setTrigger」
※初回実行時はグーグアカウントに実行許可してよいか確認が来ます。
必ず許可設定しておきましょう。
送信メールサンプル
送信したメールのサンプルです。
エクセルに記載した通りに送られます。