【GAS入門】定刻にGmailを自動発信するプログラムを作る(GoogleAppsScript)

Python・GAS
ワタシ

ども、らーにゃです。今回はGASの活用についてまとめます。

身の回りのことをもっと自動化できないものか?

仕事でもプライベートでも忙しくなるほどに自動化の必要性・重要性は増していると思います。

例えばメールを一つとっても、下記のようなサービスを使って指定時間になったら自動送信するなど、色々と出来ることはあります。

■ご参考リンク(IFTTTを使った自動化)

ただ、この手のサービスは使い勝手がいいものの、フリーミアム(一部無料、全て使うのは有料)になる流れがあったりもします。

そのため考えたいことは。

『てか、自分自身で作れないものか?』

こんなことを考えたりすることもしばしばです。

しかし、その一方で

『自分はエンジニアじゃないし、そんな知識ないからなぁ…』

との想いもあります。

ただ、最近GAS(Google Apps Script)をダメもとでさわっていじってみると

『ど素人でもコピペさえできれば近いことできるじゃん!』

と思えてきたので

備忘録的に初心者でも使える小ネタをガンガン発信したいと思います。

自動化やGASのプログラミングに興味があるけど、どんなことなら出来るのか…と思っている初心者の方のご参考になれば幸いです。

今回の論点整理

今回取り扱うのはGmailを扱ったメールの自動送信のプログラムになります。

具体的には下記のように定時になったら自分宛にメールをするプログラムを作っています。

私の場合は、宛先を自分にしていますが、下記紹介するプログラムの宛先を変えれば、指定アドレス宛も当然できます

ではこれをどう実装するか?そして拡張するか?ここについて触れていきたいと思います。

具体的には下記の3点について触れていきます。

今回の論点
  • GASとは何か
  • 自動メール発信の仕組
  • 自作プログラムへの拡張

順に触れていきます。

結論だけ知りたい場合は2のトコのみご参照くださいませ(-_-)

Google Data Portalの活用ポイント

GASの活用観点

GASとは何か

GASとはGoogle Apps Scriptの省略後で、Googleが開発・提供しているプログラミング言語です。

JavaScriptというWebブラウザ上で動作するプログラミング言語がベースになっています。

このJavaScriptは、Webサービスを作ろうと思ったときに絶対に避けては通れない、ポピュラーな言語であり、そのニーズは非常に高いです。

■ご参考リンク(java scriptの高まり)

この点、JavaScriptのニーズの高まりに反して、学習コストが低いこともGASのメリットです。

例えば下記の3点は個人的に魅力的な観点だと思います。

  • Googleアカウントがあればすぐ使える
  • 環境構築がいらない(サーバーで動く)
  • ネットにアクセス出来ればそれでOK!

そのため、プログラミングを何から手をつけるべきかということを考える私のようなど素人が最もコスパ良いです。

では実際に、どのような活用法があるのかを考えます。

GASの活用

GASの活用観点は大きく2点あると考えます。

  • Google Appsに連携したアプリを作る
  • 外部アプリと連携(API・バッチ処理等)したアプリを作る

この2点がまずはベースです。特に

「GoogleのだからどうせGoogleのしかできないでしょ」

と思うことなかれ、今回紹介するツイッターとの連携含め、例えばLINEでの自動のBot創りなど、幅は非常に広いです。

ただ、当然、Googleのツールの機能を拡張という点においては最強です。

たとえば以下のようなことです。

  • メールを定時に自動送信・返信
  • スプレッドシートでオリジナル関数を作成し実行する
  • 住所からGoogle MapのURLを作成してマッピングする

などなど、Google Appsは種類が多いので、その組み合わせを考えると無限大です。

そして個人的に一番のオススメポイントが”ウェブ上で自動更新プログラムが作れる”という点です。

正直、これの破壊力が半端ないです。昨今叫ばれる、RPA・業務自動化の文脈でかなりのことが出来るようになります。

■ご参考リンク(RPA業務自動化とは)

この点、今までかじっていたPythonなどよりも拡張性は劣るものの

サーバーでの自動実行と学習コストの低さを考えると格段に準備がしやすいです。

そのため、

『こんな自動化・効率化の仕組を作ってみたい!』

という初心者の人の最初の第一歩はGAS一択かなと思います。

ワタシ

初心者でも自動化のプログラムが組めるというのは夢がありますね。

自動メール発信の仕組

今回は、上記を踏まえて、GASを利用してGmailと連携したアプリを作成します。

アウトプットのイメージとして、下記のようにメールを自動送信(受信)するものです。

基本的にこの内容はいくらでも拡張できるので、ベースになるプログラムを抑えてしまいましょう。

プログラムのコード

結論としては、下記コードをコピペして少し修正すればそれで完了です。

function RemindMail() {
  const recipent = 'ここに送りたい連絡先を入力';
  const subject = 'ここにメールタイトルを入力';

 //メールの本文 ※\nは行替え
  let body = ' ';
  body += 'ここに送りたい文面をいれます\n';
  body += 'ここに送りたい文面をいれます\n';
  body += 'ここに送りたい文面をいれます';

 //送付元の表示
  const options = {
    name: 'GASからの送信'
  };

  GmailApp.sendEmail(recipent, subject, body, options);
}

上記をコピペしていただいた上で変更する点は3点のみです。

修正する箇所
  1. 「ここに送りたい連絡先を入力」に部分に送付アドレスをいれる
  2. 「ここにメールタイトルを入力」にメールのタイトルをいれる
  3. 「ここに送りたい文面をいれます」に入れたい文面内容を入れる

※尚、行替えが不要であれば、2つ目3つ目の文章はなくしてよいです。

この利活用は恐らく、もっともポピュラーです。調べると色々なサイトで解説やコードが公開されています。

コード自体はこれで完成です。

ワタシ

予備知識なくとも驚く程簡単にできちゃいました。

プログラムの実行

あとはこれを実際に動くか試して、良い感じであれば繰り返しをするのみです。

具体的には下記の保存マークを押した後「▷実行」マークをクリックしてみてください。

これでエラーがでなければ、自動送信がなされます

途中Googleのアカウントを確認する画面に推移しますが、ここは気にせず進めていきましょう。

「権限を確認」をクリックすると「このアプリは確認されていません」と警告が出てきてビビりますが問題ないです。

冷静に、左下の詳細をクリックして○○に移動をクリックしましょう。

この画面ではじめてGmail利用の承認ができるので、許可をしておきましょう。

ここまで出来たらほぼ完了です。

あとはこれを毎日、起動するようにします。

今度は左側にある時計ボタンをクリックし、毎日更新される設定にうつります。

詳細は以下の通りです。

トリガーを作成というボタンを押した後

『時間主導型』、『日付ベースのタイマー』、『好きな時間帯』を選択します。

ここまで設定して完成です。これで毎日、プログラムが指定時間に実行ボタンを押してくれる設定になりました。

コードの記載を含めコピペすれば3分くらいで終わる作業かと思います。

ここまで実際にやってコードも理解できれば自動化・効率化の拡張性が色々見えると思います。

以上です。

ツマ

定例的な作業などは全部こういうプログラムに置き換えたいね

自作プログラムへ拡張する

ここからは自分で拡張する方法に関してです。

「もっと本当はこういった拡張をしたいんだけどな…」

という想いが芽生えた場合は、上記の構成を理解した上で、自分なりにアレンジする必要があります。

私のようなプログラミング初心者の人は下記3点を検討すると拡張が簡単にできます。

1.GASの参考書を活用する

GASをかじり始めて、複数の書籍に目を通しはじめていますが、

やっていてこれが一番わかりやすく使いやすい!と思う参考書はズバリこれです。

冒頭あげたGASの基本的な構成や仕組の他、とても実践的な内容が記載されています。

Google Appsとの連携例なども幅広くでており、それを実践するだけでもやりたいことがある程度できる可能性が高いです。

あとは、これと他の解説サイトなどを利用していけば、拡張する観点は学べると思います。

更に、その上でココナラなどの外部の力を借りることが出来ると更に学習効果とやりたいことの実現に向けて相乗効果があります。

■ご参考リンク(ココナラ)

GASのプログラム作成でお願いなどもできるため、基本的なことを参考書で抑えつつ、作ってみたいコードを一度外注して作ってもらいそれを元に深めるなども効率が良いです。

ワタシ

良い人にあたるとその後もメッセージなどで軽い相談ができる場合もあります

2. 動画教材(Udemy)の活用

個人的に一番コスパが高くオススメしたいのがコレ。

何かというとUdemyを活用した動画学習です。

分からないところがある時に、必要なところを本で読むのではなく、動画で解説してもらう方が理解のしやすさが段違いです。

また、講師の評価もついており、個人的な所感ですが、基本的に4.0以上の評価のコンテンツであればハズレはない印象です。

当然GASの動画も多く、日本語講師の解説動画も多数あるので、安心です。

個人的にオススメしたいのは下記の講座。

これで基本的な利活用から応用部分までも網羅的にマスターできます。

>>Udemy:GASのおすすめ講座

色々とGASの講座動画があったのでつまみ食いしましたが、上記がわかりやすく、評価も高くて最初の第一歩にはオススメです。

何個の動画も見るのは時間もお金も勿体ないので、狙いを定めて買うのがオススメ。大幅ディスカウントされているときは特にねらい目です!

ツマ

割引はいつくるか分からないからタイミングは逃さないようにしないとね!

3. プログラミングスクールを利用する

そして、最後の手段ガコレです。

特に、『時間がない!早く学びきりたい!』という人にオススメしたいのがこれです。

>>Tech Academy : Google Apps Scriptコース

これは費用もかかりますが最も学習効率が高いです。

実際にTechAcademyは利用してみましたが、初心者を想定したカリキュラムが設定されており初心者でも安心です。

実は、このTechAcademyでも参考にする書籍は1で紹介した本が取り扱われています。

そのため、参考書を使ってみたが、自分でペースを作りにくい…という人には一番合うと思います。

個人的に、メンターに都度、相談をしながら学習リズムを作る事が一番のよいポイントです。

また、メンターによるかもしれませんが、私の場合は、カリキュラムに関連する内容であればカリキュラム外でも色々教えてもらえました。

その点、GASでやりたいことがある人は色々学べると思います。

>>Tech Academy : Google Apps Scriptコース

また、GASを取り扱っているスクールはまだまだ少なく希少性が高く、かつこの手のスクールの中ではかなり安い部類です。

※GASを扱うスクールがないため参考までに他言語で比較

特にキャンペーンなどをやっているときは、オマケがとても豪華だったりするので、参照してタイミングを逃さないようにしましょう!

ワタシ

私もオマケ狙いのキャンペーン狙いでコスパよく学べて大満足でした

まとめ

今回ポイントしてまとめてきたのは以下の3点です。

抑えたいポイント
  • GASとは
    ▷初心者が自動化・効率化のプログラムを目指すのに最適なGoogleの言語
  • 自動メール発信の仕組
    ▷基本コピペでGmailの自動送信のプログラムが出来る。
  • 自作プログラムへの拡張
    ▷動画やスクールなどを利用して自分にあったやり方で学んで自分で拡張する

以上です。

今回は一例を出しましたが、GASを扱うことが出来ると、効率化・自動化をさせることは無限大です。

そしてこのGASの何と言っても素晴らしいのが環境不要!そしてしかもタダ!ということです。

仕事でつかえる部分があるのは勿論のこと、プライベートでも利活用できるオトク技がいっぱいなため、非エンジニアの人でもぜひトライしてみてください!

特に、自分でトライして頑張ってみるぞ!という人はまずは、動画学習でもスクール活用でも、自分に合うアクションで進めていきましょう。

自身の今のスキルや状況に応じて、次のステップアップに向けた動きを付けて一緒に自動化・効率化の技術を上げていきましょう!(‘ω’)ノ

>>Udemy:GASのおすすめ講座

ご精読頂きありがとうございました!
m(_ _)m