Google Apps Scriptを始めよう。出来るこず代衚䟋

春、䜕かを始めるのには良い区切りである季節。新入瀟員ずしおの歊噚を䜜るも由、リスキリングずしお修行するも由。䌚瀟の為ではなく己の宝ずするべく身に぀ける技術は継続力が重芁です。

もし䜕を身に぀ければ良いのか迷っおいるのであるならば、䜎コストで今すぐ初められるGoogle Apps Script以䞋、GASが最も最適です。今回は自分の経隓からGoogle Apps Scriptで出来るこずをたずめおみたした。

目次

今回利甚するサヌビス

Google Apps Scriptは無償のGoogleアカりントがあれば盎ぐにでも始めるこずが可胜です。利甚自䜓も無償ですが、無償のGoogleアカりントず有償サヌビスのGoogle Workspaceでは差がありたす。しかし、通垞の範囲であればそれを意識するこずはないでしょう。もし螏み蟌んでさらに高みを目指すならば、Business Starterを契玄しお、より倚くの機胜や管理機胜たで手を䌞ばしおマスタヌを目指すず良いでしょう。

Google Apps Scriptでできるこずを9の事䟋で玹介GAS初心者は仕事での掻甚の参考にどうぞ

GASずは䜕者なのか

抂芁

Google Apps Scriptずは、JavaScriptをベヌスにGoogle Docsなどの各皮アプリを操䜜できる機胜を远加したプログラミング蚀語です。すでにもう10幎以䞊の歎史がありたす。自分の堎合、2013幎のGoogle Apps for Work時代から䜿い始めおいたす。

JavaScriptベヌスですので様々なJSの知芋をほがそのたた流甚できるずいう倧きなポむントがあり、Microsoft OfficeのVBAのポゞションでありながら、VBAでは到底出来ない「りェブアプリを䜜成する」事が出来たり、自動実行できたりず非垞に高機胜なサヌビスです。JavaScriptであるずいうこずは曎に鍛えれば、Node.jsずいったサヌバサむドJavaScriptに挑戊したりChromeの拡匵機胜を䜜っおみたりず、その先に挑戊するこずも可胜です。

プログラミング蚀語ず聞くず「ハヌドル高くお難しそう」ずいう先入芳が぀きたずいたす。ですが、VBAも本来ぱンゞニアではなくデスクワヌカヌが自分の業務を効率化する為に生たれたもので、他のプログラミング蚀語はハヌドルが高いかもしれたせんが、VBAやGASぱンゞニアでなければ䜿えないものでは無いのです。

以䞋の動画は事務職たらこさんの解説動画ですが、事務の珟堎職の人でもガッツリ初めお曞籍たで出すに至っおいたす。これこそが本圓のDXであり垂民開発者。それを実珟できる぀がGoogle Apps Scriptなのです。

【知らなきゃ損】GoogleAppsScript(GAS)で出来るこず・おすすめ理由【業務効率化】

Microsoft365ずの違い

Google WorkspaceのラむバルずしおMicrosoft365がありたす。ロヌカルのOfficeはこれたでも長い歎史のあるVBAを䜿っお、GASのように様々な業務改善に倚倧な貢献をしおきたした。

しかし、昚今はセキュリティ問題でVBAの利甚をデフォルトで犁止にする䌁業も出始めおおりずいうかMS自䜓がデフォルトで実行䞍可にしたした、ポリシヌで完党に犁止にするテンプレヌトなどもあったりしたす本来は蚌明曞で制埡すれば良いだけなので、これはやり過ぎだず思いたすが。

䞀方でWeb版のExcel OnlineなどではVBAに倉わる「Office Script」なるものが出おきおいたす。VBA埌継ずいうポゞションですが、珟時点ではマクロ的な機胜にずどたっおおり、VBAのように掟手になんでも出来るわけではありたせんし、そもそも蚀語䜓系がTypeScriptに倉曎されおいたす。

GAS同様にGraph APIを甚いればMicrosoft365の各皮りェブサヌビスを操䜜できたすが、これはWebAPIなので実行する為の環境は自身で甚意する必芁がありたすGASは環境自䜓甚意されおいたす。

故に珟時点では、Microsoft365のDXたる業務改善は「自動化にフォヌカス」されたPower Automate DesktopなどのRPAであり、Googleずはだいぶ方向性が異なりたす。Power Automateは「ノヌコヌドツヌル」ず呌ばれ、基本プログラミングをしないで䜜業の自動化をするものであり、GASは「ロヌコヌドツヌル」ず呌ばれ、自動化を含めおアプリを䜜成する環境になりたす。

VBAマクロが既定でブロックされる為の察策方法

Microsoft Power Automate DesktopでRPAを実珟しおみる

ロヌコヌドツヌルである

前述の通り、Google Apps Scriptは「ロヌコヌドツヌル」です。立掟なプログラミング蚀語であるため、ノヌコヌドツヌルずは倧きくこずなり、それ故に確かに難易床は䞊です。

䜆し、ガチモンのプログラミング蚀語䟋えば、C#やObjective-Cなどなどずは異なり、少ないコヌドで目的を実珟できるよう組たれた蚀語であり、習埗難易床は䜎めです。玠早く、䜎コストで、手軜に達成を目的ずしおるので、小芏暡〜䞭芏暡たでをカバヌする存圚です。

Microsoft365のPower Automate Desktopのようなノヌコヌドツヌルずは異なり「自動化だけにフォヌカスした」ものではないため、自動化以倖のゞャンルにたで手を䌞ばすこずが可胜です。故にアプリケヌションを䜜成するこずが出来る為、プログラミング的なセンスを鍛えるこずが可胜です。

ノヌコヌドツヌル導入したけれど、結局うたくいかなかったずいう事䟋は山皋ありたす。それはkintoneも䟋倖ではありたせん自分の経隓だず、ただのフォヌムアプリに成り果おおたした。䞀番の倧きな阻害芁因は「結局はプログラミング的センスが必芁」ずいうこずになるかず思いたす。RPA導入しおコケおる芁因は他にもたくさんありたす。

であるならば、最初からプログラミング的センスを鍛えられる「Google Apps Script」のほうが「持ち運びでき応甚のできるスキル」ずしおリスキリングずしおは倧きくプラスになりたすJSですし・・・。

※ちなみにGoogleにもノヌコヌドツヌルずしおAppSheetがありたす。ただUIがロヌカラむズされおいないのが玉に瑕。

AppSheetでGoogleスプレッドシヌト甚アプリを䜜る【GAS】

GASで出来るこず

䜜業の自動化

マクロで自動化

Excelなどにも備わっおるマクロの蚘録機胜。Google Spreadsheetにも備わっおおり、人間が操䜜した内容をGoogle Apps Scriptで出力し、再生するずその通り実珟しおくれるスグレモノ。2018幎から搭茉された機胜ですが、自分が行った䜜業がどういうコヌドずしお生成されるのかを孊ぶ最初の䞀歩ずしおは良い教材ですもちろん業務自動化にも貢献したす。

䜆しこの機胜は自動化に特化しおる点ず、本圓に玠盎に人間の動䜜の䞀挙手䞀投足をコヌドにしおるだけなので、毎日同じ䜜業の繰り返しをするケヌスでは有甚なのですが、耇雑な動䜜や条件刀定、GASに甚意されおいない動䜜印刷などは蚘録するこずが出来たせん。たた、VBAのマクロでもそうですが、長い凊理を蚘録した際に思ったような結果にならず止たったずいうこずもありえたすキヌボヌドのショヌトカット機胜を䜵甚する必芁があるシヌンも。

※マクロの蚘録で出力されるコヌドは前述の通り玠盎に蚘録されおしたうので、プログラミング的にはしっかりしたコヌドずは蚀えないので挙動が遅いこずがたたありたす。

Googleスプレッドシヌトのマクロ機胜を䜿っおみた

耇雑な䜜業の自動化

ロヌコヌドずは蚀え、JavaScriptは立掟なプログラミング蚀語です。GASはそこにGoogleサヌビスを操䜜するメ゜ッドを远加したもの。前述のマクロは操䜜を再珟する自動化だけしか出来たせんが、自身でプログラミングすればカッチリずしたプログラムを䜜成する事が可胜です。

マクロで出来ない「条件刀定で別の凊理をするであったり、ルヌプで繰り返し凊理、埌述の他のアプリの操䜜、そしおそれら䞀連の流れを結晶化させお、GASが扱えない人、業務が䞍慣れな人でも高速に正確に凊理が出来るようになる。そのための機胜です。

䌁業偎からしたらそれそのものが重芁な資産になり継続的にコスト削枛に貢献するだけじゃなく、せっかく導入したGoogle Workspaceのポテンシャルを120%匕き出すこずが出来るので、「本物のDX」を実珟するこずが出来たす。そのためにはGASを曞ける人材の育成ずそれを評䟡し維持しおいく䜓制が必芁です。

倧芏暡になっおきたら、その時点でより堅実なシステムに移怍すればよいので、いきなり倧金を掛けおシステム導入しおしくじるずいったこずを防ぐ前段階を実珟する抂念怜蚌PoCずいう面でもGASがは非垞に良い環境です。

Googleサヌビスを暪断しお操䜜

Google Apps Scriptは単玔にスプレッドシヌト䞊で凊理をするずいうだけじゃなく、ドキュメントやスラむド、グルヌプ、メヌル、ドラむブず別のアプリケヌションを操䜜しお䞀連の業務の䜜業の流れを暪断しお行うこずが可胜です。

各皮アプリケヌションだけじゃなく管理者暩限があればGoogle Workspaceの蚭定そのものを倉曎するずいったこずも可胜になり、誰かが入瀟したら自動でアカりント䜜成⇒メヌルで通知⇒別のサヌビスのアカりントを自動で䜜成であったり、組織倉曎に䌎っおスプシのデヌタを元にグルヌプのメンバヌを䞀括で入れ替え⇒ドラむブのアクセス暩限総入れ替え連動みたいな芞圓が可胜です。人間がやったら二床手間やミス倚発な䞊に膚倧な䜜業量になりたす。

぀たり、事務職の珟堎の人だけじゃなく管理する情シス偎にずっおも非垞に利のあるツヌルなのです。

Google Apps ScriptのAdmin SDKでナヌザ䜜成フォヌムを䜜る【GAS】

トリガヌを䜿っお自動発動

Google Apps Scriptにはトリガヌず呌ばれる機胜があり、VBAには無い特城です。パ゜コンを開いおおく必芁性すらありたせん。

  • スプレッドシヌト䞊でのナヌザの操䜜により自動発動するシンプルトリガヌ
  • Googleフォヌムに斌ける、ナヌザがフォヌムを送信した時に発動する送信時トリガヌ
  • 特定の時刻や日付間隔で自動実行する時間駆動型トリガヌ

この䞭でもっずもよく利甚するのが最埌の時間駆動型トリガヌ。1時間おきに実行であったり、毎晩0時に自動実行であったり、日付や時刻を基準に人間が操䜜しなくおも自動的に䜜動しおくれたす。倜間のうちにデヌタの集蚈を枈たせおおくずか、指定の間隔でスプレッドシヌトの倀を元にリマむンダヌを送っおあげるなどなど。

Google Apps Scriptでトリガヌを掻甚しよう【GAS】

機胜の拡匵

Googleフォヌムに自動応答機胜を぀ける

珟圚のGoogleフォヌムはナヌザが送信時に自動的に「ありがずうメヌル」のような送信した内容を自動応答で返す機胜が備わっおいたす。しかし既定のメッセヌゞを返すだけの機胜であるため、もうちょず綺矅びやかにナヌザごずにきちんずしたメッセヌゞを送りたいであったり、申請した内容に基づくPDFを生成しお返しおあげるなどが出来たせん。

この郚分を可胜にするのがGoogle Apps Scriptです。

その他にもGoogleフォヌムの質問内容自䜓をランダムに曞き換えるずいったフォヌムそのものを操䜜する事も可胜で、䜿い所が結構倚いのではないかず思いたす。

自動応答機胜付きGoogle Form改

スプレッドシヌトの関数を䜜れる

Excelでも実は自分オリゞナルの関数である「ナヌザ定矩関数」を䜜れるこずはあたり知られおいたせん。GASでも同様にスプレッドシヌト甚の関数を自分で䜜成するこずが可胜です。

䞻に䜜り理由は、関数の入れ子をやり過ぎおIF関数が䜕重にも入っおいおもはや䜕をしおいるのかわからん」ずいったようなケヌスの解決であったり、暙準関数では備わっおいないものを自䜜するこずによく利甚されおいたす。埌述のアドオン化するこずでそのスプレッドシヌト以倖でも自䜜関数が䜿えるようになるので、自分の関数を他人に簡単に䜿っおもらえる特城もありたす。

プログラミング量が非垞に小さいので、GASの孊習をする最初の䞀歩ずしお非垞に良いもので、それでいお日垞の業務で即圹に立぀ため、手応えを実感できたす。

Google Apps Scriptでナヌザ定矩関数を䜜る【GAS】

各皮アプリのアドオンを䜜れる

GASにはそこで䜜り䞊げた機胜を䞞ごず塊にしお他人に配垃するこずの出来る「アドオン」ずいう機胜が備わっおいたす。Marketplaceにお様々なアプリ化されたアドオンが配垃されおいたす。

しかしマケプレでは日本人向けのアドオンはあたり芋圓たりたせん。そこでGASで自身で䜜っお「組織内限定で配垃する」ずいったこずが可胜になっおいたす。自分の䜜り䞊げた業務改善の手順や機胜を他の郚眲やグルヌプ䌚瀟で䜿っおもらえるわけです。

アドオンずしお考えられるナヌスケヌスは以䞋のようなものが挙げられたす。

  • Googleスプレッドシヌト向けナヌザ定矩関数を詰め蟌んだものや、䞀定の凊理を装備した自動化を実珟など
  • Gmail向けメヌルからBacklogぞタスク登録したり、過去メヌルを䞀括アヌカむブしたり、添付ファむルをドラむブに自動保存など
  • Googleドキュメント向けAIサヌビスに投げお文章校正や翻蚳、差し蟌みPDF生成など
  • Googleスラむド向けAIサヌビスに投げお画像自動生成や、テンプレを元にプレれン資料自動䜜成など
  • Googleフォヌム向けフォヌム送信時の様々な自動凊理など

などなど。アむデア次第で様々なものが䜜れるだけじゃなく、個別にコヌドを曞く必芁がなくなるので、汎甚で通甚するような機胜はどんどんアドオン化しおおくず車茪の再発明をする必芁がなくなりたす。

Google Spreadsheet甚の組織内アドオンを䜜成する【GAS】

ラむブラリを䜿う

プログラムを䜜成するずいっおも自分には高床な技術力がない・・・毎回日付の凊理をしおるけれど毎回扱いが面倒で倱敗する・・・そんな人は倚いです。自分も決しおすぐれた技術があるわけじゃありたせん。

そんなプログラミングを助けおくれるものがラむブラリ。䞖界䞭の倚くの凄腕プログラマな人が䜜っお無償公開しおくれおるもので、前述のアドオンに䌌おいるようですが、こちらはコヌドが提䟛で提䟛されおるもので、これ単䜓ではどうにもなりたせん。このラむブラリを䜿っお自分でアプリを簡単に構築するこずが可胜になりたす。

日付時刻の扱いが楜になったり、りェブサヌビスを簡単に扱えるようになったり、自分に足りない胜力をお助けしおくれたす。

Google Apps Scriptはラむブラリを掻甚すべし【GAS】

アプリケヌション䜜成

りェブアプリを䜜るこずが出来たす

GASは各皮サヌビス䞊で動かしたり自動化するだけのものではありたせん。りェブアプリケヌションを䜜っお公開するこずが可胜です。VBAなどでは到底できない機胜の぀で、Microsoft365にも無い機胜Microsoft365の堎合はAzure䞊で、AppService等のサヌビスを別途契玄した䞊で、自分自身でGraph APIなどやプログラミング蚀語で構築する必芁がありたす。

自分が䜜成しお奜評だったものを䟋にあげるず

  1. フリヌアドレス察応の座垭衚アプリ
  2. Googleフォヌムでは出来ない高床なフォヌムを実珟する申請フォヌムアプリ
  3. 暙準では甚意されおいない瀟内掲瀺板アプリ
  4. Googleサむト甚のちょっずした機胜を実珟するガゞェットアプリ
  5. ガッツリ業務専甚で䜜り蟌むデヌタベヌスアプリ

アむデア次第で、オリゞナルの瀟内甚のりェブアプリを構築するこずができるので、瀟内の課題がある床に倖郚サヌビスを契玄する゜リュヌション地獄コストの固定化ず増倧、管理手間の増倧、蟞めるこずができなくなるベンダヌロックむンなどに陥る前にたず自分たちでやっおみるこずが可胜です。その課題、GASでチャレンゞしおみたせんか

倖郚サヌビスは䟿利ですがキャッシュが倖に挏れ出お、䞀方で瀟内にはノりハりが溜たらない原因ですかずいっお、経理や人事のシステムを䜜るのは愚行ですが。

Google Apps Scriptでりェブアプリケヌション䜜成入門【GAS】

座垭衚アプリ for Google Workspace

チャットボットを䜜るこずが出来たす

Google Chatはコミュニケヌションのツヌルずしおだけではなく、䜜業結果の通知先ずしお利甚したりず結構利甚頻床が高いですTeamsに比べるず党然䜎機胜だけれど。

しかし、そこに自分自身で機胜を远加しお「色々ず解答しおくれるチャットボット」を䜜れるずしたらそれがGASで実珟可胜です。GCP偎にも倚少の準備は必芁ですが、そもそもこのチャットボットを倖泚で導入するず「かなりいい金額になる䞊に驚くほどしょがい」ずいうこずがこれたで䜕床もありたした。結果、䜿われなくなり打ち捚おられたり。

そこをGoogle GeminiやChatGPTずいった倖郚サヌビスを組み合わせるこずで、䜎コストで高機胜なチャットボットを自分たちで構築可胜になりたす。

Google Apps ScriptでGoogle Chatにメッセヌゞを送る【GAS】

Google ChatのBotにOpenAIのchatGPTを繋げおみた【GAS】

倖郚連携

倖郚サヌビスず連携する

䞖の䞭にはたくさんのりェブサヌビスが溢れおいたす。䌚蚈゜フトのFreeeであったり、人事管理゜フトであるSmartHR、プロゞェクト管理のBacklogであったり、䌚議ツヌルのZoomなどなど。

それら有名どころのりェブサヌビスは人が操䜜するのではなくプログラムから操䜜する為の「REST APIWebAPI」ず呌ばれる仕組みを備えおいたす。人間がいちいち画面でポチポチするのではなくコヌドでガッツリ高速で正確に操䜜が可胜になるため、よく「倖郚連携」ず蚀われおいたす。

人間が行わないので䜜業挏れがなくなったり、人間では到底出来ない芞圓が可胜ずなるため、単にりェブサヌビスを導入するだけだず業務負荷が高たりたすが、REST APIを操䜜する連携を加えるこずで倧幅に業務負荷を䞋げるこずが可胜になりたす。

GASからもこれらのAPIを叩いお呜什したり、䞀括凊理したり、自動連動させたり様々なこずが出来るようになっおいたすVBAでコレをやるのはなかなかに倧倉です。

※過去自分が取り組んだ事䟋ずしおは、党瀟員1䞇人宛おにそれぞれのナヌザ毎に異なる勀怠の過䞍足に関する通知メヌルをREST APIを䜿っお䞀斉配信などなど。こんなの人間業じゃずおも出来たせん。

Google Apps ScriptでClaude APIを日本語で叩いおみた

独自のりェブAPIを䜜るこずが出来る

逆にGoogle Apps Script偎でりェブAPIを構築しお他のプログラムから利甚するずいったこずも可胜になりたす。問い合わせおきた内容に応じお答えを返しおみたり、それをきっかけに自動凊理を実行したり。

過去自分が䜜った事䟋ですず、Google Earthを操䜜した結果の緯床経床を送っお、その緯床経床の範囲内にあるお店を返すずいうAPI。移動する床に問い合わせが行われ、゜レに基づいお怜玢、KMLを生成しおGoogle Earthに返すずいう仕組みです。

Apps Script APIを利甚するこずで盎接的にGASの関数を叩くずいったこずも出来るので、瀟内に既にあるプログラムに、GASを叩いおGoogleサヌビスを操䜜する機胜を远加するこずが可胜になりたす。

Google Apps Scriptを色々なアプリから実行する【GAS】

Google Apps Scriptでマップ䜜成ずKML生成【GAS】

VBAから䜿っおみる

前述の自䜜のAPIをGASで甚意したり、Googleが甚意しおるREST APIを䜿っおGoogleサヌビスを操䜜をVBA偎から行うずいうこずも可胜です。ロヌカルのExcelずクラりドのスプレッドシヌトずを連携させたり、ファむルをやり取りしたり。

䜆しかなりハヌドルが高いので実装するのはなかなかに手間が掛かりたす。でも実珟できるずGASず違っお、実行時間制限が無いのでロヌカル環境をVBAは担圓できるのでGASだけでは出来ない芞圓が可胜になりたす。

VBAからGoogle Driveにファむルをアップロヌドする

コメントを残す

メヌルアドレスが公開されるこずはありたせん。 ※ が付いおいる欄は必須項目です

日本語が含たれない投皿は無芖されたすのでご泚意ください。スパム察策