こんな方におすすめ
- スプレッドシートの内容をメールで送りたい方
- GASでメール送信する方法を知りたい方
スプレッドシートにまとめた内容を毎日自動でメールを配信したいと考えたことありませんか。
今回は「スプレッドシートの内容を自動でメール送信」について解説したいと思います。
スプレッドシートの内容を自動でメール送信
(本処理にはスプレッドシートやGmailを利用するのでお持ちでないかたはご準備してください)
手順を追って説明してきます。
step
1スプレッドシートを準備する
メール送信したい内容をスプレッドシートにまとめておきます。
A列、B列はタイトル、本文になりますので、A列には要約、B列には詳細を記載しておいてください。
今回は夢をかなえるゾウのガネーシャの課題を定期配信したいと思います。
step
2配信行、最大行数を準備
E1セルに配信行欄を準備し、デフォルトで「2」としてください。
G1セルに最大行欄を準備し、「=COUNTA(A:A)」と記載ください。ガネーシャの課題が29件だった場合は項目行も併せて「30」と計算されるはずです。
step
3シート名を任意の文字に変更
プログラムにも記載する名前なのでなるべく英語表記にした方が良いと思います。
今回は「bot」にしました。
step
4メニューの拡張機能>Apps Scriptをタップ
step
5スクリプトのPJ名を設定
step
6プログラムを記載
プログラムのコメントを参考にし、自分なりにカスタマイズしてみてください。
function sendMeigenBot() {
//スプレッドシートをIDとシート名指定で開く
var sheet = SpreadsheetApp.openById('1TY*******').getSheetByName('bot');
//配信行番号の取得
var counterRange = sheet.getRange("E1"); //セル取得
var counter = counterRange.getValue(); //値を取得
Logger.log('配信行 : ' + counter); //ロガーで確認
//最大行番号の取得
var totalRange = sheet.getRange("G1"); //セル取得
var total = totalRange.getValue(); //値を取得
Logger.log('最大行 : ' + total); //ロガーで確認
//今日の課題と解説文を取得
var kadaiRange = sheet.getRange(counter,1); //セル行[カウンタ],列[1]を取得
var kadai = kadaiRange.getValue(); //1件取得
var kaisetsuRange = sheet.getRange(counter,2); //セル行[カウンタ],列[1]を取得
var kaisetsu = kaisetsuRange.getValue(); //1件取得
Logger.log('今日の課題と解説文 : ' + kadai+'|'+kaisetsu); //ロガーで確認
//メール設定
const address = '******@gmail.com'; // メールの送付先
const subject = '【今日の課題】'+ kadai; // メールの件名
const body = `ガネーシャ` + kaisetsu;
//メール配信
GmailApp.sendEmail(address, subject, body);
//カウントアップ
counter = counter + 1; //次回の配信行番号を設定
if(counter > total){counter = 2;} //最大行以上になったら一番上の配信行に戻す
sheet.getRange("E1").setValue(counter); //配信行
//スリープ(連続起動防止のために)
Utilities.sleep(5 * 1000);//5秒待機
}
補足1:SpreadsheetApp.openByIdで読み込むスプレッドシートIDはURLの文字列から取得してください。
補足2:GASの定期実行にはバグがあるようでたまに連続実行されてしまいます。その事象を緩和するために最後にスリープ処理をいれております。
step
7テストのためにデバッグ実行
デバッグ実行したらApps Scriptのコンソール上に以下のようなにLogger.logで指定した内容が表示されます。
問題なければ指定したメールにも内容が飛んできていると思います。
step
8Apps Scriptのサイドメニューのトリガーをタップ
step
9トリガーを設定する
今回は毎日午前8時ごろにメール配信して欲しいので以下のように設定しました。
設定は以上となります。
これで毎日8時にガネーシャの課題が届くようになりました。
ぜひ、みなさんもカスタマイズしてご利用してみてください。
さいごに
今回は「スプレッドシートの内容を自動でメール送信する方法」を解説しました。
誰かのお役に立てたら幸いです。
以上、ワーカホリックダイアリーでした。
あわせて読みたい
夢をかなえるゾウの課題一覧|ガネーシャの課題
こんな方におすすめ 夢をかなえるゾウの課題を知りたい方 社会人2~3年目の方 2007年に刊行され、新聞、テレビで取り上げられたり小説「夢をかなえるゾウ」。 200万部のベストセラーとなり、ドラマ化、 ...
続きを見る