メインコンテンツへスキップ
見出し画像

Google Apps Scriptの社内研修をやりました! 〜研修の進め方 & GAS初心者に何を教えたのか〜

    この記事は PX Advent Calendar 2023 Spring の10日目の記事です

    こんにちは!STORES のPX部門IT本部でマネジャーをしている@howdy39です。
    昨年の11月〜12月にかけて社内向けにGAS研修をやりました。なかなか評判もよかったので、どうやって進めたのかや内容についてを書いていこうかなーと思います。

    (筆者について)
    GASはなんだかんだで8年ぐらい触ってます。過去にはお仕事で企業に出向いてGASの研修を実施したりもしてました。
    また最近だとこういう便利ツールをGASで作っていたりします。GASちょっとできます。

    研修を行った背景

    STORES ではエンジニア・非エンジニア問わず、もともとGASを書く人がたくさんおり、様々なことを自動化しています。それ自体は本当にすばらしいな、と思っていたんですが、なんかこう私の思うベストプラクティスな使い方になってない感じがしていました。
    頑張って書いてるけど別にそこ頑張んなくていいとこなんだけどな、みたいな。

    あとは純粋に「全然わかんないけど私もGASを書けるようになりたい」って人を応援したい、かな。未知にチャレンジする人は尊敬しているので。

    知識があるならその知識を有効活用すべきなのでGAS研修をしようと思った次第です。

    研修の内容

    GASでやりたいことの多くは定形化していると考えています。
    それが以下のパターンです。

    • Google フォーム送信をトリガーに動かすGAS

    • Google スプレッドシートを読み書きするGAS

    • Gmail からメール検索やメール送信をするGAS

    この3つをベースにカスタマイズしたGASがほとんどです。
    例えば、Googleフォームが送信されたらSlackに通知する。とかスプレッドシートで宛先とメール内容を作ってメールで一括送信する。とか。
    上記を組み合わせれば、Googleフォームに送信されたらスプレッドシートでメール文面作ってそのまま自動返信メールを送付、社内にはSlack通知で共有する。
    なんかもできちゃいますよね。

    そのため、基本的にはこの3つを組み合わせたり、機能を追加すればほとんどのGASはカバーできます。
    この3つの王道パターンを解説していく研修にすることにしました。

    また「コピペで始めるGAS」をコンセプトに研修内容を決めました。
    GASは冒頭で貼った私の記事のようにやろうと思えば結構コアなことまでできちゃいますが、コピペでシュッと作ったGASだとしてもめちゃくちゃ便利になることだってたくさんあるんですよね。
    まずは 「なんかしらんけどコピペしたら動いた!これが自動化!GAS便利じゃん!」という成功体験を持ってもらいたかったんですよね。

    そのため、研修で使うコードはコピペで終わり、ないし一部分だけ自分用に少しカスタマイズすれば動くコードを用意しました。

    研修の進め方・工夫した点

    研修は 全体像 + 王道パターン3種 をあわせて4回、それぞれ1時間ずつ行うようにしました。

    研修の進め方・工夫した点を紹介しようと思うのですが、まず使ったツールや進め方など全体像から書いていき、そのあと研修内容を軽く紹介します。

    資料作りと当日進行はMiroを全面的に利用した

    当初はGoogleスライドで資料を作ろうと思ったのですが、図形や画像を組み合わせてちゃんと作ろうとすると、Miroなど別のツールで作って画像をGoogleスライドに貼り付ける形になってしまいます。
    なんかもうそれめんどくさいなーと思い当日の進行自体もMiroでやるようにしました。
    スライドに該当する部分をMiroの1フレームにしてプレゼンテーションモードで進めていく感じですね。通常のプレゼン同様に右矢印をポチポチしていくだけなのでラクでした。ただし、いわゆるスピーカーノートてきなのはないのでこれは言っときたいなーみたいなメモはフレームの近くに付箋を配置して画面をちょっとずらせれば見えるようにするなどの工夫をしました。
    下記の画像の付箋部分ですね。

    画像
    付箋を簡易スピーカーノート代わりに

    また、MiroはPDFでも一括出力できるので、Miroのアカウントを持ってない人もあとから見れますし、Speaker Deck 等に上げることも容易です。
    つぎからこの手の研修資料づくりは全部Miroにするかなーと思うぐらい体験が良かったです。

    研修の参加希望はSlack絵文字で

    Googleフォームあたりが回収自体はラクなんですが、参加希望を出すのにGoogleフォームに飛ぶの面倒だと思うのでSlackの絵文字リアクションを使いました。
    本題とそれるので割愛しますが、Slack APIの reactions.get を叩いてSlackのユーザーIDを抽出、Slackユーザー一覧(APIで抽出)のIDからメールアドレスに変換する感じです。予定の招待はメールアドレスをスペース区切りにしてGoogleカレンダーのゲスト欄に貼り付ければ一括招待できます。

    画像
    参加希望は絵文字リアクションで

    研修はGoogle Meetでオンライン開催

    STORES は仙台オフィスがあったりWORK LOCALという精度を利用してリモートワーク主体での働き方をしている方も多数いるのでオンラインがいいと判断しました。
    あとオンラインなら簡単に録画できる!笑

    また研修ではMeetのアンケート機能を使ってMeetにはこういう機能があるんだよ!みたいなおまけ要素をいれました。
    これはMeetに限らずGoogleフォームやMiroなんかの便利機能もちょこちょこ挟むことでGAS以外にも学べる研修にしました。

    画像
    MeetのQ&A機能を活用

    また、研修は基本は座学であとから、録画や資料を見て自分でやってね。という形式にしました。
    オンライン40人参加の規模だと、流石に手を動かしてもらうのは無謀なので。。。

    さて全体の進め方について解説したので次は研修内容に進んでいきます。

    第1回 研修 ~GASを学ぶ意義や全体像や事例の解説~

    全体像と事例を提示することでGAS活用イメージを膨らませてもらう、GASを学ぶことに対するモチベーションをあげてもらうのを主目的として実施しました。逆を言えばこの1回目の研修で活用イメージがわかなかったら2回目以降の研修に参加しても時間がもったいない可能性が高いのでフィルタリング要素も含んでいました。

    画像
    アジェンダ
    画像
    第1回GAS研修の資料

    第2回GAS研修 ~Google フォーム編~

    Googleフォームは使わない人は全く使わないサービスだと思うので、そもそもそんな機能あったのか、となりがちです。
    そのためGAS解説の前にGoogleフォームでGASと関連する部分の理解を深めるセクションを入れました。

    画像
    Googleフォームの理解を深めるセクションを入れた

    GASはフォーム送信→Slack通知機能を実装するコードにしました。これは頻出パターンなので知っといて絶対に損はないなと。

    画像
    Form x GAS の実装
    画像
    第2回GAS研修の資料

    第3回GAS研修 ~Google スプレッドシート編~

    スプレッドシートでよくあるパターンである
    メニューから手動実行→スプレッドシートを読み込む→何らかの処理をするのパターンを解説しました。
    実行時に確認フォームを入れるのが個人的に伝えたいポイントでした。なくても動くから端折りがちなのですが、いれとくと誤実行防止にかなり効果のある実装です。
    一緒に解説したログシートも同様で地味に便利な機能です。(=GASがわからない人が実行してもログをみれる、GASのログは消えてしまうがスプシに書いとけば記録を残せる)

    画像
    作ったコード

    またスプレッドシート周りで知っといたほうがいいことなども盛り込みました。
    スプシの編集権限 x コンテナバインド x スクリプトプロパティを使っていた場合、API_KEYとかみんなに見れちゃうのでダメ。スプレッドシートをいじりたい場合は、スタンドアローンスクリプトにしてそっちに編集権限をつける。みたいな注意点の解説などです。
    初心者にはちょっと難しい話になってしまったのですが、初心者〜中級者あたりがよくミスってしまうポイントなのとセキュリティを意識してほしいので組み込みました。

    画像
    セキュリティ大事
    画像
    第3回GAS研修の資料

    第4回GAS研修 ~Gmail 編~

    最後にGmailですが、定期的にメールを検索して添付ファイルを自動でDriveに格納する処理や、スプレッドシートの内容からメールを一括送信する処理などを解説しました。
    ファイル周りも取り扱ったので活用の幅は結構あるかなと思います。

    画像
    メールの送受信を解説
    画像
    第4回GAS研修の資料

    研修の成果・反響

    計4回の研修の成果ですが…

    参加者数は述べ160名でした🎉

    Googleフォームでとったアンケートの平均は下記の通りでした。(4段階評価)
    研修の満足度:3.92
    勉強会の全体理解度:3.28
    今回の勉強会で得た知識を今後活用することができそうですか?:3.6

    総じて良い結果なのですが、満足度に比べて理解度が追いついてないので、もうちょい工夫ができるとこがあったよなーという反省ポイントでしょうか。
    あと純粋に話すのが得意じゃないので分かりづらい、聞き取りづらいとか多分にあると思われます。。(私はテキストコミュニケーションのほうが得意です)

    感想をペタリしときます。社外秘ぽいとこもありそうだったのでほとんどモザイクかけちゃいましたが🙏

    画像
    たくさんの感想コメント。ありがたやー

    振り返り

    総じてやってよかった & ポジティブな感想をたくさんもらえたので嬉しかったです。また自分自身の知識を棚卸しできたのが大きかったですね。調べていて「え、そうだったんだ!」と思うことがたくさんありました。教える側が一番学びがありますね。

    あと録画してあるので、STORES に入社すると見れます!!
    (無理やり採用につなげるやつ)

     
     
    情シス向けの情報や Notion, Claude, Google Workspace などを中心に情報発信しています。 ソフトウェアエンジニア歴13年→情シス歴6年→Adminaのエバンジェリスト1年目