みなさん、こんにちは!
いよいよGoogle Apps Scriptに手を出してしまいまいたタカハシ(@ntakahashi0505)です。
突然ではありますが、Google Apps Scriptとの触れ合いを始めました。
お仕事の自動化というと、エクセルVBAがたいへん威力を発揮します。
帳票を自動で作ったり、データをまとめたり整理したり、IEを操作してWEB上からデータを集めてきたり、エクセルを多用してお仕事をしている現場は、それはもうVBAの活躍のしがいがあるというものです。
ただ、その手の届く範囲は、残念ながらエクセルをはじめとするMicrosoft社製品のあるところに限られてしまいます。
私たちの仕事の現場でよく使っているアプリケーションは、Microsoft製品だけでなく、Gmail、スプレッドシート、Googleアナリティクス、チャットワーク、Twitter、他にも色々あるのです。
Google Apps Scriptはその他にも色々の結構な部分を担ってくれそうな存在としてずっと気になっていたのです。
色々と学びながらではありますがGoogle Apps Scriptをお仕事に活用していくためのステップやテクニックについて、本ブログで順次紹介していければと思っております。
初回の今回は、Google Apps Scriptとは何か?そしてそれを学ぶメリットは?という点についてお伝えしていきたいと思います。
なお、本記事の内容は以下Voicyの放送でもお話していますので、よろしければご参考ください。
では、よろしくお願いいたします!
Google Apps Scriptとは
Google Apps Script(略称GAS)はGoogleが提供をしているJavaScriptによって操作するためのスクリプト環境のことです。
ざっくり噛み砕いて言うと、JavaScriptというプログラミング言語を使ってGoogle社が提供しているならではの組み方や動かし方ができるやつ、といったところでしょうか。
まだちょっとわかりづらいですが、順を追ってGASの特徴について紹介していきます。
Googleサービスとの連携
Google社が提供しているならでは、という部分ですが、当然Google関連サービスとの連携が抜群に良いわけです。
MicrosoftのVBAがExcel、Powerpoint、Word、Access、InternetExplorerを操作できるのと同様に、GoogleのGASは
- Gmail
- Googleスプレッドシート
- Googleフォーム
- Googleマップ
- Googleカレンダー
- Google翻訳
- Googleアナリティクス
などを利用することができます。
例えばスプレッドシートでオリジナル関数を作ったり、エクセルマクロ的なことを実行するのはもちろん
- カレンダーに登録している今日の予定をメールに送信
- フォームに回答した人にお礼メールを自動返信
- スプレッドシートの入力内容を翻訳する
- スプレッドシートで管理している予定を一気にカレンダーに登録する
- アナリティクスから取得したデータを特定のメール宛に送信
- スプレッドシートの内容をcsv形式で添付してメール送信
- スプレッドシートに入力してある住所一覧をマップにプロット
などなど、Googleサービスの組み合わせた様々な動作をプログラミングできるというわけです。
GASによりお仕事の自動化や効率化ができる範囲がGoogleの世界、そしてWeb上の世界に一気に広がります。
外部アプリケーションとの連携
もうここまででも十分にすごいのですが、私が愛して止まないチャットワークをはじめ、Slack、Twitter、Kintoneなど外部APIを使って連携できるアプリケーションが存在します。
そうすると
- 時刻や天気予報をチャットワークやSlackに定期的に送る
- 昨日分のアナリティクスのデータをチャットワークやSlackに送る
- Twitterでのエゴサーチの結果をチャットワークやSlackに送る
- スプレッドシートで記載した内容を定期的にツイートするTwitter Bot
といったこともできそうです。
GASはGoogleサーバー上で動く
もう一つの重要な特徴としてGASはGoogle社のサーバー上で動作するということが挙げられます。
Googleドライブ上にプロジェクトを作ってそこでプログラミングと実行をする形になります。
ローカルPC上ではなくてWeb上なのです。
PCやブラウザを立ち上げていなくても特定の時間をスケジュールしておいて動作させたり、スプレッドシートが更新されたなどのイベントをトリガーにして動作させることが可能です。
エクセルVBAの実行は、ローカルPCでエクセルを立ち上げている状態が前提となりますが、GASはセッティングさえしておけばGoogleサーバー上で勝手に動作してくれるようにすることができるということです。
ある意味、真の自動化が実現できるというわけですね。
IFTTTなどのハブサービスとの連携
さらに一歩進んだ使い方を考えてみます。
IFTTTなどのハブサービスを使うと様々なアプリケーションの動作をトリガーとしてGASを動作させることができます。
というのもIFTTTのトリガーを任意のアプリケーションの動作、アクションをスプレッドシートにします。
一方でスプレッドシートの更新をイベントトリガーとして設定したプログラムをGASで組んでおけば、IFTTTのトリガーから連動してGASを動かすことができるというわけです。
かなり色々なことができそうですが、例えば
- TwitterやInstagramで特定のハッシュタグの投稿が何件あったのかをカウントしてSlackやチャットワークへ送る
- RescueTimeのレポートをグラフ化してメール添付で送る
- Trelloで自分がアサインされたらSlackやチャットワークに通知する
などといったことができそうです。
特にチャットワークに関していうと、GASを使うメリットが高いです。
というのも、現在IFTTTはチャットワークと連携をしておらず、ハブサービスとしてはZapierを使うことになります。ただ、Zapierは無料登録では動作(Zapといいますが)の回数制限があるため、有料登録しないと実用的ではありません。
そんなときにIFTTT→スプレッドシート→チャットワークとすれば、無料で色々なサービストリガーでチャットワークに何かを送ることができる、という寸法です。
GAS…アイデア次第では無限の可能性を秘めているといってもいいのではないでしょうか…
Google Apps Scriptを学ぶメリット
さて、お仕事効率化を目的として身に着けるスキルとしてGASを選ぶメリットがいくつかあると思いますのでお伝えしていきます。
すぐに活用ができる
これはVBAでも言える話でしたが、多くのビジネスマンがGoogleサービスのいずれかは使っています。また、チャットワークやTwitterもなじみのあるサービスでしょう。
ですから、学んだことをすぐに実践で活用できる状態にあるわけです。
これは本当に良い状態です。
学んだことを仕事に取り入れればその自動化や効率化により作業時間の時短が実現できますから、その空いた時間でまたGASを使った新たなチャレンジに時間を割くことができるようになります。
時間を無理にねん出しなくても、次々にスキルを高められる可能性が十分にあります。
開発環境が不要
開発環境は全てGoogleさんが用意して下さっているので、必要なものはPCとネットワーク環境のみです。
Googleアカウントさえあれば、誰でもすぐにプログラミングが開始できます。
また繰り返しになりますが、スケジュールによるイベントトリガーもメニューからの設定一つですぐに実現できる状態って…素晴らしいです。
完全無料
さすがGoogleさん、完全に無料です。
お金はいりません。
必要なのはちょっとの意欲とちょっとの時間。あとはアイデアですかね。
これさえあれば、お仕事の一部もしくはたくさんを効率化したり、変化させたり、今までできなかったことを実現できたりするようになります。
JavaScriptを学べる
これはVBAに比べると大いなるメリットと感じています。
GASはプログラム言語としてJavaScriptをベースにしていますから、GASを学ぶことはJavaScriptを学ぶということにもなります。
表現が稚拙で恐縮なのですが、JavaScriptは今や大活躍のプログラミング言語なわけです。
GASをある程度マスターしたら次にJavaScriptをもっと勉強して、今度はWebサイトで色々と実現してみよう、みたいなスキルアップの流れが作りやすいと思います。
まとめ
Google Apps Script…今回はその特徴とメリットとできそうなことをこれでもかーっと語っただけでした。
VBAとGASを身につければお仕事効率化という視点では鬼に金棒だと思うのです。
日本のビジネスシーンにVBAとGASを身に着けている方が1割でもいて下されば、日本の生産性は大きく上がるのではないかと強く期待しているものであります。
このブログでも、日々のお仕事でもそのような部分を少しずつでもサポートできればと思っています。
まずは以下記事から始まるシリーズから学び始めると良いと思います。
Google Apps Scriptのまとめページもありますので、合わせてご活用ください。
コメント
[…] GASについてより詳しく知りたい方はこちら↓↓ 超初心者へGoogleAppsScriptを始めるメリットをこれでもかと説明します […]