こんにちは、しょーい(@showilog)です
今回はgoogleサービスを操作するのに必須スキルである【Google Apps Script】をご紹介致します。
グーグルアップススクリプト・通称【GAS(ガス)】です。
googleサービスを使いこなすなら避けては通れないスキルです。GASを覚えることでGoogleの性能を200%以上有効活用できる素晴らしい機能ですので、是非知ってほしい技術です!
このページは
・googleサービスを更に使いこなしたい!
・googleでも自動化したい!
・googleでVBAのような事がしたい
方向けのページになります。
GASとは何か
GASは一言で言ってしまえば「Googleサービスを自動で動かす為のプログラミング言語」となります。JavaScriptベースの言語で、環境もGoogle側が全て用意してくれています。なので学習ハードルは他の言語に比べればかなり入りやすいと思います。
実際私も30歳までプログラミングなんて全くやったことなかったですが、VBAをある程度使える様になった後にGASを学びました。今では仕事に全力で利用しています。
GASを使って何ができるか
「Googleサービス全てを自動化できる」といってもいいかもしれません。Googleサービスは幅広く、今や無料で色々なサービスが使えます。よく使われるのはこちらではないでしょうか。
- Gメール
- Googleカレンダー
- スプレッドシート
- Googleドキュメント
- Googleフォーム
- Google meet
いまあげた内容は私も仕事でよく使っています。というか毎日使っています。
Googleサービスを使っていない企業なんて今やないんじゃないでしょうか?こちらのサービスを「自動」で自分の動かしたいように動かせるとしたらどうでしょう?
- Gメールの添付ファイルを自動でGoogleドライブに保存
- スプレッドシート上の集計を毎日PDF化
- Googleカレンダー上の予定を全てスプレッドシートに記載する
- スプレッドシート上の内容でGoogleフォームをボタン1つで作る
- Google meetのURLをgメールで自動送信
簡単に挙げただけでもこんな事ができます。しかも「無料」でGoogleアカウントを持っている人なら全員できるんです。勿論書き出した内容以外にも、いくらでもカスタマイズが可能なんです。
企業がRPAソフトを導入するのはかなりの金額がかかってしまいます。ミニマムなRPAであればGASだけで充分可能なのです。企業幹部の方や経営者の方が理解していただけると、企業としてより高い効果を出せるはずです。
GASの可能性を凄さを感じていただけましたでしょうか。
GASとVBAの違い
私がGASを知ったのは、VBAを勉強した後でした。エクセルをVBAで操れるのなら、スプレッドシートに同じような機能はないのかな?と思って調べたのが最初です。
似たようなことができる印象ですが、実は根本が違っているのです。
VBAの特徴
まずVBAはMicrosoft Officeに紐作いた言語です。
保存されるのもエクセルファイルにくっついてるイメージですね。
エクセル、パワーポイント、ワード、アウトルック等を自動で操作することができます。
さらに、同じMicrosoftであるWindowsも操作することができます。
例えば、「指定したフォルダに入ってるファイルの名前を変える」等です。つまりVBAはPC側の操作についています。エクセルをPCにインストールされているのでPC側という認識です。
GASの特徴
GASはGoogleサービスを操作します。Googleサービスは勿論ブラウザから利用します。つまり、Googleブラウザ側に紐づいた言語です。(細かく言うと違いはありますが、大枠の認識でokです)
GAS自身もスプレッドシートやGoogleフォームにくっついて保存されます。
スプレッドシートにくっついてるということは、ネット上にプログラム言語がいることになります。実はGoogleのサーバーにいる言語をタイムスケジュールで自動で操作することも可能なのです(後にトリガーで解説)
GASの習得難易度
個人的な印象ですが、完全初心者には少し難しいと思います。私も最初は苦労しました。
ただ、VBAを触れる人であればある程度理解できると思います。プログラミングのベースの考えがあれば書き方の違いだけなのでそこを覚えれば使えると思います。JavaScriptベースなので、JavaScriptがわかる人であればかなり理解スピードは早いです。
勿論より専門的な知識があれば見やすいコードが書けたり、無駄な部分を減らせます。ただ、最初から完璧なコードなんて書けないですから、そこまで気にしなくてもいいとおもってます。私もそこまですごいのは書けません。
GASの使い方
基本の設定方法
GASはスプレッドシートやGoogleフォームにくっついているので、シートやフォームの各ファイルに設定できます。
設定の仕方は、スプレッドシートの場合
「拡張機能」→「Apps Script」を選んでください。そうすると別タブにGASの作成画面に移ります。
こちらのページにGASのコードを記載していきます。
コピペでも使えますが、ある程度内容を理解しておいたほうが後々絶対に楽です。
GASを使うメリット
ほぼ全てのgoogleサービスを操作できる
上でも説明していますが、一番はここになると思います。Excelと同様に今やデスクワークには欠かせないシステムアプリとなっているGoogleサービス。これを自分の動かしたいように操作できる。しかも自動で!と考えてもらえると、GASの破壊力が想像できると思います。
「Googleサービスを使ってるけど、別にそんなのいらない」と思っている人こそ理解してもらいたいです。今の業務フローの中に自動化して時短化できる業務は絶対にあります。この機会に是非そこを一度見直してみてください。
「トリガー」を使って自動運用可能
スプレッドシート等のGoogleサービスは常にGoogleのサーバーに保存されています。つまり利用する段階でGoogle側でサーバーの管理とか色々してくれているわけですね。
そこでGoogleは「トリガー」という専用のシステムも用意してくれているんです。
トリガーは、時限装置のようなものです。指定したGASを指定した条件で動かすことができます。
- ○○時間に1回
- Googleフォームに答えた時
- 毎週1回
- フォームが更新された時
などなど、時間か他サービスの条件によって動かせるのです。これはエクセルVBAにはできない、ネット上での半自動的な動作です。GASの使いやすさは「トリガー」の設定が超簡単なところにあります。
せっかくGASを覚えるならトリガーをマスターしない手はありません。
完全無料で利用可能
Gアカウントを作成するだけで、Googleサービスが使えるのと同様、GASの利用も完全に無料でできます。必要なのは知識だけです!
Google Workspaceでの有料利用にすれば、保守や保存容量などなど使いやすさは広がりますが、無料枠でも問題なく使えるのがGoogleサービスのすごいところです。
GASを使うデメリット
これだけベタ褒めしてきましたが、やはりGASにもデメリットはあります。デメリットを理解していないといざというときに困る可能性がありますので、頭の片隅に入れておきましょう。
起動制限時間
実はGASは、1回で実行し続ける時間に制限があります。
「6分の壁」と言われており、6分以上動いていると強制的にプログラムが止まってしまうのです。
6分も時間つかわなくない?と思う人がいるかもしれませんが、コードの書き方によっては6分でも処理が終わらない事があるのです。
なので、コードの書き方をよりシンプルに素早く動くように考える必要があったりします。
承認が必要
GASのコードを書いたあとに、いざ実行!とすると、一番最初にGASを承認させないといけません。
その承認画面が初めて見る人は「えっ!?大丈夫?!」と思ってしまうのです。
コードを実行すると一番最初に承認が必要と出てきます。「権限を確認」をクリックするとgoogleアカウントの選択になります。その先に進むと・・・
急な警告文
けど安心してください、これが通常です。
GASを承認するときには、この警告文が絶対に出ます。google workspaceの方であれば
こんな危険っぽい感じにはなりません。
「安全なページに戻る」を選んでしまうと、GASを承認できずに戻ってしまいます。
なので、少し分かりづらいですが左下の「詳細」をクリック。
そうすると、下にまた文章が出てきます。マルをつけた部分を再度クリックします。
そうするとまた別の画面になります。
右下の「許可」をクリックしてください。
これで承認OK。そのスプレッドシートでGASが使えるようになりました。
これの面倒なところは、1ファイル毎にこの設定をしなければなりません。
1つのスプレッドシート、1つのgoogleフォームごとに認証しないといけないのです・・・。
そこまで難しい内容ではないですが、こればっかしは仕方ないのです。
野良ロボットの危険性
野良ロボットというのは誰かが作って管理しなくなったまま放置されたプログラムです。
GASはトリガーを仕掛けておけば勝手に動いてしまうので、野良ロボットが存在していると永遠とトリガーで動いてしまいます。
GASを知らない人がトリガーの存在すら知らないので、「なんかこの時間だけスプレッドシートが重い」みたいな事になりかねません。
しかも先ほど説明した通り1ファイルごとにGASが設定できるので、どのファイルにGASを書いたかしっかり覚えてないといけないのです。
個人の仕事を効率的にすることや、自分ひとりだけで管理している場合は大丈夫かもしれませんが、野良ロボットを野放しにしないように気をつけましょう。
GASの今後
GASはVBAより柔軟で幅広いことができる非常に便利な言語です。
学ぶための環境も整えやすいですし、初期費用が一切かからないのが魅力ですね。
そして何よりgoogleサービスをより使いこなせるようになるので、お仕事でgoogleサービスを使っている方は是非調べてみてください。