【GAS】Google Apps Scriptとは?何ができる?学ぶメリットは?

gas

みなさんこんにちは。zak-papaです。

育休中は子育ての合間を縫ってプログラミングを学んでいました。
育休中は十分育児に時間が取れますが、職場復帰後はなかなか時間を取るのが難しいと思います。だからこそプログラミングで「業務の自動化」を進めて、早く帰って奥さんと子供との時間を多く取りたい。

そんなことを考えている一人の父親ですが、育休中に出会った「Python」「Google Apps Script」がどうやら「業務の自動化」に適しているということで、上記2つを主に学び続けています。

 

もちろんビジネスマンに多く使われているMicrosoft社の「Excel」や「Outlook」などを操作する「VBA」も「業務の自動化」を図れる素晴らしいプログラミング言語です。
私の職場もOfficeユーザーなので業務でいくつかコードを書いて自動化してきました。しかし、「VBA」にはない魅力を上記2つは持っており、そこに私も惹かれてしまったわけです。

どちらもできることは幅広いですが、ノンプログラマー(非エンジニア)でも実務に活かせる内容は数多くあります。
また、働き方が変わりつつある今の時代は、ノンプログラマー(非エンジニア)でもそういったスキルを身に付けていくべきだと思っています。
上司から「残業減らせ」「早く帰れ」って言われるストレスもなくなるかもですね。

 

前置きが長くなってしまいましたが、
今回はGoogle社が提供しているプログラミング言語「Google Apps Script」(通称「GAS(ガス)」)について触れたいと思います。Pythonについては別の機会に触れたいと思います。

「GAS」とは何か、何ができるのか、そのメリットとは。順に説明していきます。

 

GASとは?

Google Apps Script(通称:GAS)とは、Googleが提供するJavaScriptベースのプログラミング言語です。

WebブラウザとGoogleアカウントさえあれば誰でも簡単に利用でき、Googleカレンダー、Gmail、GoogleスプレッドシートなどGoogleの各種サービスを自在に操作することができます。

 

Excelなどを操作し、自動化を図るプログラミング言語として「VBA」がありますが、その「Google版」と考えてもらえるとわかりやすいのではと思います。
ただし「VBA」はローカルPC上で実行しますが、「GAS」は「Googleのクラウドサーバー内」で実行するという「クラウド型」です。

後ほど説明しますが、そのあたりもGASのメリットであると思います。

 

Google Apps Script 公式リファレンス

Google_Apps_Script_公式リファレンス

 

 

GASでできることとは?

続いて「GAS」でできることを説明します。

Googleの各種サービスとの連携

上記でも説明した通り、Googleの各種サービスと連携をすることができます。

具体的には、

Googleの各種サービスと連携してできること
  1. スプレッドシートのデータを集計・グラフ化する
  2. Googleカレンダーに予定を一括で作成する
  3. Googleカレンダーの予定をスプレッドシートに書き出す
  4. スプレッドシートの内容をPDF形式に変換して自動でメールを送信
  5. Gmailの添付ファイルをGoogleドライブに保存
  6. Googleフォーム、Gmail、スプレッドシートによる承認制ワークフローの作成
  7. スプレッドシートに入力してある住所一覧をマップにプロット  等

 

GASを使えばアイデア次第でいくらでも自動化ツールが作成できると思います。
①のようにスプレッドシートでデータの集計やグラフ化をボタン1つでできてしまえば仕事も早く片付きますね。

 

 

また、GASには指定した日時やスプレッドシートを編集したときなどに、「スクリプトを自動で実行」してくれる「トリガー」という機能があります。

これはPCやスプレッドシートを開いていなくても、また、夜中寝ている時間でも実行することが可能です。
なぜなら、GASのサーバー内で実行されるからですね。下図のように時間帯を指定して「トリガー」を設定することが可能です。

 

トリガー

 

 

外部アプリケーションとの連携

GASのもう1つの特徴は、Googleの各種サービスだけでなく、API(Application Programming Interface)を使ってSlackやChatworkなどの「外部アプリケーション」との連携ができることです。

具体的には、

外部アプリケーションと連携してできること
  1. ビジネスチャットツールのSlackに今日の天気を送る
  2. ビジネスチャットツールのChatworkに今日のスケジュールを送る
  3. Lineで自動応答してくるBotの作成
  4. タスク管理ツールのTrelloの情報をチャットツールに送る
  5. スプレッドシートの内容をTwitterに投稿したりTwitterの情報を取得する  等

 

外部アプリケーションと連携することで仕事の幅も広がると思います。

 

 

Webアプリケーションの作成・公開

GASの魅力といえばやはりこれでしょう。「Webアプリケーション」を作成して1分でWebに公開することができます。
ただ、「HTML」や「CSS」の知識は別途必要になってきます。「HTML」や「CSS」についてはわかりやすいサイトが多く存在しています。

Progate」や「ドットインストール」はわかりやすくてオススメです。「JavaScript」の講座もあるのでそちらも勉強しておくとGASに取っ掛かりやすいと思います。

Progate

ドットインストール

 

 

そんなWebアプリですが、こちらも使い方はいくらでもあると思います。

具体的には、

Webアプリケーションでできること
  1. 特定の人の社員番号と期間を入力してカレンダーの予定を出力する
  2. Googleマップを使って自宅近くの保育園の一覧を表示する
  3. アンケート結果をグラフとして表示する
  4. スプレッドシートのデータをWeb上でグラフ表示する
  5. Web上で出退勤を打刻して勤怠管理をする  等

 

上記①〜③は実際に私が育休中に作成したものです。
業務効率化というよりはこんなの欲しいな、こんなのやりたいなと思ってまず最初に取り組んだものです。イメージはこんな感じです。


① 特定の人の社員番号と期間を入力してカレンダーの予定を出力する

社員番号、日付、検索文字からカレンダーで登録した予定をWeb上に表示・スプレッドシートに出力するWebアプリです。過去の仕事の振り返りや面談者リストの作成などに活用できるのではと思います。

Google_calendar

 

 

② Googleマップを使って自宅近くの保育園の一覧を表示する

区役所のHPに表示されていた住所をスプレッドシートに入力。緯度経度を算出して自宅近くの保育園の一覧マップを作成し奥さんと共有しました。旅行する際も観光地の住所をスプレッドシートに入力・一覧表示して計画を立てるのにも活用しています。
※ 今回は適当に「石神井地区」の保育園一覧マップを作成し、マップの中心を「石神井公園駅」にしました。また、マップの中心をマッチョになった私の上司がピョンピョン跳ねている感じにしました。怒られないことを祈ります。笑
※ 「Google Maps API(Maps JavaScript API)」を使用。

Google_maps

 

 

③ アンケート結果をグラフとして表示する

エクセル等で作成するグラフをWeb上で動きのあるグラフ(今回はその恩恵を受けていませんが)として表示するのも面白いかなと思って作成しました。スプレッドシートで取りまとめたアンケート結果をJSON形式にして表示させています。
※ データ(数値)はダミーのものです。
※ 「Google Charts」を使用。

Google_charts

 

 

 

このあたりの作成方法も今後紹介していきたいと思っています。

以上のように、Webアプリにすると「URL」さえ知っていれば他者に簡単に共有できたり入力させたりできるので、非常に便利なツールだと思います。

 

 

GASを学ぶメリットとは?

続いてGASを学ぶことで得られるメリットについて説明します。

実務にすぐに活かせる(業務の自動化)

「VBA」もそうですが「GAS」も勉強すればすぐに実務に活かすことができます。
手のかかるエクセル業務などはありませんか?プログラムを組んでコンピューターにやらせて、もっと他のクリエイティブな仕事に時間を費やしましょう。

それに人が手を動かして行う業務はミスが起こりがちです。コンピューターは正確にやってくれます。

自動化ツールの作成 → 時間ができる → さらに勉強 → さらに自動化ツールの作成

このサイクルを作っていければ良いですね。

 

 

開発環境が不要で無料で利用できる

GASの開発環境は全てGoogleが用意してくれています。また、その環境を無料で利用することができます。
必要なのはたった2つのみ。

GASの開発に必要なもの
  1. Webブラウザ(Google Chrome推奨)
  2. Googleアカウント

 

「VBA」はExcelをまず購入してからインストールする必要がありますね。(会社で使用している場合は既にインストールされていると思いますが)

「GAS」は何かを購入したりインストールする必要はありません。上記の2つの準備のみ。さすがGoogleさんですね。

 

 

JavaScriptの勉強にも繋がる

GASはJavaScriptベースのプログラミング言語であるため、GASの開発はJavaScriptの知識習得にも繋がります。

ここでは詳しい話はしませんが、JavaScriptはWebアプリやWebページのHTMLやCSSを直接操作することができ、Webページを動きのあるサイトに仕上げることができます。プログラミング言語として非常に汎用性が高く無限の可能性を秘めた言語であるといっても過言ではないでしょうか。

私もJavaScriptを勉強してから上記のようなWebアプリを作成できるようになりました。JavaScriptは奥が深く、これからもっと勉強していきたいと思っている言語です。

 

 

終わりに

以上、GASの魅力について説明してきました。

業務の自動化に留まらず、Webアプリの作成や外部アプリケーションとの連携といったことまでできてしまうGAS。素晴らしいですね。
ただ、私の所属している会社で使用しているツールのほとんどが「Office製品」のため、あまり活用の場がないかもですね。笑
(部内のスケジュール管理のみGoogleカレンダーを使用)

まぁでもExcelの集計作業などはスプレッドシートでもできるわけで、Webアプリを取り入れたりしてうまく活用していければと思います。

 

GASの魅力が分かったところで、次回は実際にGASの開発環境(スクリプトエディタ)を開いて、初めてのプログラムを実行していきたいと思います。

gas【GAS】開発環境(スクリプトエディタ)を開いて初めてのプログラムを実行してみよう

 

今回は以上となります。最後まで読んでいただきありがとうございました!