どんなことを自動化する?
よく「GAS で何ができますか?」と聞かれます。以下の Udemy のページでは、
と GAS(Google Apps Script)で実現可能なことが説明されています。
「何ができる?」に対する求められている答え
前述の Udemy のページでの説明に間違っている部分があるわけではないと思います。しかしながら、「…を連携、自動化させて活用することができます。」と説明されて、そのイメージが理解できる人であれば、自身で何とかなるんじゃないか?と思ったり…
きっと、そんなイメージが理解できる人は、冒頭のような「GAS で何ができますか?」という質問をせず、自身で検索しているんじゃないかと思うのです。
きっと、冒頭の質問をした人は、もっと具体的にできることを聞きたいのではないでしょうか? 例えば、
Google スプレッドシートに一覧にした連絡先を、「連絡先(Google コンタクト)」に一括登録できる。
→ #66 連絡先に一括登録する(People API版)Google スライドのスライド順序をランダムに入れ替える。
→ #62 スライドの順序を入れ替えるClassroom への保護者の招待を、スプレッドシートに入力した内容で一括処理する。
→ #59 Classroom への保護者の招待を一括で!Google Classroom で課題として配信した Google スライドを、リンク貼り付けによってまとめる。
→ #56 課題で提出させたスライドを結合するGoogle スプレッドシート内に設定された情報に基づいて、タスクを一括登録する。
→ #52 タスクをプログラムで登録するGoogle Classroom の課題で回収した Google ドキュメントの中から、一部分を抽出して Google スプレッドシートに集約する。
→ #43 課題の一部分を抽出して集約する
といった感じで、実例を紹介して欲しいのではないでしょうか?
その答えでイメージできる?
しかし、前述のような実例を聞いたとしても、ちょうど効果が実感できる実例であれば、GAS に対するイメージが理解できるのかもしれませんが、そこからイメージが広がっていくでしょうか?
ということで、冒頭の Udemy による GAS の説明文
を、ちょっと違う切り口で書き直してみようと思います。
書き直した GAS の説明文
プログラミングに不慣れな人にも理解しやすいように書き直した文が、以下のような感じです。
Google が提供しているサービスで、「手順書に記載できるような内容で判断する」「同じ操作をくり返す」といった操作を行っているのであれば、GAS でプログラムを作成すれば、ボタン一つで実行したり、決められた時間に自動実行させたりできます。
Google の複数のサービスを連携して操作することも可能です。また、Google のサービスだけでなく、Web API に対応した Twitter や LINE といったサービスとも、Google のサービスと同じように操作が可能です。
1つ目の文がポイントで、Google のサービスで
手順書に記載できるような内容で判断する
同じ操作をくり返す
に当てはまる内容を、GAS はプログラムとして処理できるのです。
たとえ話
たとえ話になりますが…
働き方改革の一環で、あなたの職場にアルバイトの職員がやってきたとします。そのアルバイトは、特殊な技能や高度なスキルを持っているわけではありませんが、手順書(マニュアル)として手順を書面化してあれば、その操作を間違えることなく、スムーズに操作を行ってくれます。
いい感じに解釈したり、判断したりはしてくれないので、どのような操作を行わなければならないのかを丁寧に、確実に説明しなければなりません。
また、判断を行う場面ではどのような基準で判断を行うのかを明確にしておかなければなりません。
手順書の作成は、面倒に感じるかもしれませんが、手順書が作成されていれば、その手順書の仕事はアルバイト職員が確実に行ってくれます。
という感じです。
このたとえ話の「アルバイト職員」が GAS で、「手順書」がプログラム、に相当します。イメージとしては、「アルバイト職員」が理解できる「手順書」を作成するのが、GAS のプログラミングなのです。
困っていることが、手順書を作成してアルバイト職員に頼めるようになる内容であれば、GAS のプログラムで解決できます。
冒頭の説明と比較すれば、文字数も多くなっていますが、「GAS で何ができますか?」という問いに対する答えになるでしょうか?
GAS でできないこと
とは言え、GAS でできないこともあります。😖
GAS については、Google が用意している「Apps Script | Google Developers」で説明されているのですが、
GAS で提供されている API がサポートしていない操作
→ UI としては提供されているものの、API では提供されていない操作GAS の API が対応していないサービス
→ 例えば、Google Jamboard を操作する API は提供されていない
といった操作は GAS のプログラムでは行えません。
できないことがあることも事実ですが、GAS によっていろんなことができることも事実。できることに、うまく GAS を活用しましょう!
今回の記事では、細かな GAS のプログラミングについては言及していませんが、GAS ではどんなことができるのかをまとめてみました。冒頭のような質問を疑問に感じていた方の参考になれば幸いです。👍