お気に入りのメルマガを、1つのファイルにまとめると、便利です。
GAS(Google Apps Script)、Google のプログラミングでやる方法をまとめてみました。
※自宅にて by Panasonic GH5
メルマガのメリット・デメリット
メルマガは自分のメールソフトに情報が届くので便利ではあるのですが、ふとそのメルマガを読み返したいときに不便な場合もあります。
もちろんメールソフトで検索すれば見つかるのですが、メルマガだけを別で管理しておくと便利です。
Gmail でメールを受信していて(独自ドメインのメールアドレスを Gmail で受信している場合も含む)、GAS (Google のプログラミング)を使うと 、Gmail からスプレッドシート (Google のExcel)へメルマガをまとめることができます。
読者としても便利ですし、自分がメルマガを出していれば自分のメルマガをまとめるときにも便利です。
私は両方で使っています。
GASでメルマガをスプレッドシートにまとめる方法。
GASを使うには、まず、新規のGoogleスプレッドシートを立ち上げましょう。
https://www.google.com/intl/ja_jp/sheets/about/
プログラムを書くソフトを立ち上げることができます。
次のプログラムを入れて実行すれば、
(設定の部分■は、それぞれ入れていただければ)
function mail_magagine() { //★検索条件設定 var title = '■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■'; //タイトル var count = ■■; //抽出する数 //1 スプレッドシートを読み込む var sp =SpreadsheetApp.getActiveSheet(); //2 スプレッドシートをクリア sp.clear(); //3 Gmailからメールを検索 var search = GmailApp.search('subject:'+title,0,count); var mail_message = GmailApp.getMessagesForThreads(search); //4 検索したメールから本文を抽出 for(var i= mail_message.length-1,r=1;i>0;i--,r++){ var mail_text = mail_message[i][0].getPlainBody(); sp.getRange('a'+r).setValue(mail_text); //本文 }; };
なお、最初に実行するときには、スクリプトエディタで、保存(Ctrl+ S) して、
実行(Ctrl+R)すると、次のような警告が出るので、[許可を確認]をクリック、
Google アカウントを選択し、次の画面では[詳細]をクリックして、
[(安全ではないページ)に移動]をクリックし、
安全ではないページと出るとびっくりしますが、これをやらないとプログラムを実行できませんので、いたしかたありません。
設定すべきところは、メルマガの検索条件と検索数。
それぞれ、titleとcountという部分で、設定します。
まず、今使っているスプレッドシートを読み込み。
いったんクリアします。
(前のデータが残っているといけないので)
Gmail からメールを件名で検索する場合には、GmailAppで、subject:で指定しましょう。
ここで、最初に設定したtitleを使うわけです。
カンマを入れて、次の0は、「メールの1つ目から検索する」という意味です。
プログラミングでは、0、1、2、3と数えるので、0が「1つ目」になります。
カンマを入れてその次は、先ほど設定したcount、抽出する数を設定する部分です。
これを100とか、200にすれば、それだけのメルマガを抽出することができますが、プログラムの実行の時間もかかりますので、少しずつやってみましょう。
なお、メルマガ発行者の場合は、自分のメールへメルマガを送っておくと抽出でできるわけです。
ただ、メルマガにそのまま返信があった場合には、そのメールを抽出してしまいます。
次のようにfromに自分の発行アドレス、toに自分のメールアドレスを入れておくと確実です。
var search_mail = GmailApp.search('subject:【税理士進化論】 from:info@xxxx.com to:xxxx@gmail.com',0,1);
次の部分では検索結果をもとに Gmail からメッセージを取ってきます。
その取ってきたメッセージの本文を読み取り、
スプレッドシートの A列に貼り付けていきます。
これを繰り返しやるプログラムが、forの部分です。
mail_message.length-1、つまり、10-1の9(10番目を意味する)から、8、7、6……と、0(最新)まで繰り返すという意味です。
0から9まで繰り返すという設定もできますが、そうしてしまうと新しいメルマガから順にスプレッドシートに並んでしまいます。
日付の古いものから並んだ方が見やすいと思いますので、このように設定しました。
このプログラムを書けば、titleやcountを変えれば、さまざまなメルマガをまとめることができます。
たとえばこのように設定をしてみました。
私が毎日とっているメルマガです。
気になる方は、タイトルでググって(検索して)いただければ。
GASでメルマガ本文だけをスプレッドシートにまとめる方法。
メルマガには本文の他の部分もあります。
もしメルマガだけを抽出したいのであれば、プログラムに工夫が必要です。
たとえば■で区切られている場合は、 split 関数で■を指定して区切ります。
私のメルマガの場合は、■で区切ると4つの区分になり、3つ目が本文になりますので、split(“■”)[2]と書けば、本文だけが抽出できるのです。
この場合も0、1、2、3、4と数えますので、3つ目は、[2]という指定になります。
姿勢になります。
メルマガを出している方は、これを踏まえて区切り位置を意識しておくと、便利です。
途中でパターンを変えていると、うまく読み取れない場合もあります。
(私も変えたことがあるので、一律のパターンでは読み取れませんでした)。
以前は Word にメルマガを書いて、それを配信サービス(オートビズ)に貼り付けて配信していました。
メルマガ配信、セミナー運営に便利! Webサービス「オートビズ」 | EX-IT
1つのWordファイルにメルマガを書いて蓄積していくと後で見返すとき、使うときにも便利です。
(ただ、Wordが重くなるので、500号ずつわけていたこともあります)
今は、メルマガ配信システムで配信した後、定期的にプログラミングで1つにまとめるようにしています。
メルマガを読む側の方も、書く側の方も使ってみていただければ。
この記事のプログラムに関連するものです。
メルカリの購入履歴をExcelへ。GASでGmailからデータを抽出して経理。 | EX-IT
■編集後記
昨日は、ご依頼のあった原稿執筆。
構想を練りつつ、昨日、書きあげました。
1万字ほどで、4回にわたってネットで連載される予定です。
音声認識入力し、その後、VS Codeで仕上げています。
■昨日の1日1新
※詳細は→「1日1新」
RG ズゴック完成
雪見だいふく パンケーキ
■昨日の娘日記
Amazonプライムビデオのしまじろうシリーズにはまり、Amazonの端末Echo Showでみています。
見すぎないように、声でスリープタイマー(30分)ができるのが便利です。
私がタイマーをしているというのは、ばれてないようで。
■著書
『税理士のためのプログラミング -ChatGPTで知識ゼロから始める本-』
『すべてをがんばりすぎなくてもいい!顧問先の満足度を高める税理士業務の見極め方』
ひとり税理士のギモンに答える128問128答
【インボイス対応版】ひとり社長の経理の基本
「繁忙期」でもやりたいことを諦めない! 税理士のための業務効率化マニュアル
ひとり税理士の自宅仕事術
リモート経理完全マニュアル――小さな会社にお金を残す87のノウハウ
ひとり税理士のセーフティネットとリスクマネジメント
税理士のためのRPA入門~一歩踏み出せば変えられる!業務効率化の方法~
やってはいけないExcel――「やってはいけない」がわかると「Excelの正解」がわかる
AI時代のひとり税理士
新版 そのまま使える 経理&会計のためのExcel入門
フリーランスとひとり社長のための 経理をエクセルでトコトン楽にする本
新版 ひとり社長の経理の基本
『ひとり税理士の仕事術』
『フリーランスのための一生仕事に困らない本』
【監修】十人十色の「ひとり税理士」という生き方