スキルアップ

スプレッドシートの内容を自動でメール送信|GAS、順番に定期的に送りたい

こんな方におすすめ

  • スプレッドシートの内容をメールで送りたい方
  • 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
8
Apps Scriptのサイドメニューのトリガーをタップ

step
9
トリガーを設定する

今回は毎日午前8時ごろにメール配信して欲しいので以下のように設定しました。

設定は以上となります。

これで毎日8時にガネーシャの課題が届くようになりました。

ぜひ、みなさんもカスタマイズしてご利用してみてください。

さいごに

今回は「スプレッドシートの内容を自動でメール送信する方法」を解説しました。

誰かのお役に立てたら幸いです。

以上、ワーカホリックダイアリーでした。

あわせて読みたい

夢をかなえるゾウの課題一覧|ガネーシャの課題

こんな方におすすめ 夢をかなえるゾウの課題を知りたい方 社会人2~3年目の方 2007年に刊行され、新聞、テレビで取り上げられたり小説「夢をかなえるゾウ」。 200万部のベストセラーとなり、ドラマ化、 ...

続きを見る

---- 当サイトのPRをさせてください ----

当サイトは「社会人に役立つ仕事術、生活術、スキルアップ術」を発信しております。また来ていただけたらたいへん嬉しいです。

ぜひブックマークをお願いします。

iPhoneの方:
ブラウザ下部の[↑]ボタン > [ホーム画面に追加]もしくは[ブックマーク追加]

Androidの方:
ブラウザ右上の [︙]ボタン > [ホーム画面に追加(アプリをインストール)] もしくは[☆タップ]

PCの方:
ブラウザ 右上の[☆]ボタン、もしくはキーボード[Ctrl]+[D]

またのお越しをお待ちしております。

\面白かったらシェアお願いします/

-スキルアップ
-, ,