隅田です。
103期ではRPA講習を終え、Excel VBAの学習に入りました(大井先生、1週間ありがとうございました!)
まず初日は基本的なオブジェクト文を勉強し、文法に慣れていただくところからスタートしました。豪先生が毎日がんばっています。顔に出ないのがすごいと思っています。
序:コトの発端
そんなVBAの授業が始まる前日、そして授業中、このような声を聞きました。
英語が分からないからVBAが怖いです~
英語の綴りが書けないと大変ですよね~…
これは困った。なんとかしたいな。
…という経緯があったので、何か策はないものかと色々と考えていました。そこで思いついたのが皆さんが(たぶん)慣れ親しんだ四択問題。
英語学習がメインではなく、あくまでも英単語の確認を目的とした使い方なので、プログラミングに特化した英単語をランダムに出題するようなアプリであればすぐに提供できそうだと思いました。
簡単に英単語を確認できるようなアプリがあったら勉強します?
あったら欲しいです!
電車の中でやります!
ということでしたので、学習アプリ作成会での成果物を拝借応用して皆さんに使ってもらうことにしました。自己剽窃と言われてしまえばそこまでですが、その名も『VB英単!』ということで作成いたしました。
ちょっとした導入事例ということで以下にまとめます。
教材のイメージを固める
- 難易度設定画面
- 解答画面
- 解答結果画面(復習用に)
- 成績登録画面(いつ誰が取り組んだか等)
があれば良いので、この4つをイメージしてデータを集めていきます。
この時、大切なのは絵や文字を使って具体化することだと思っています。ウィトゲンシュタインの言葉を援用すれば「語りえぬものについては沈黙せざるを得ない」です。自分が言語化できないものはアプリ化もできません。
データを集める
ということで、最もしんどいデータ採集の始まりです。本気で作ろうと思ったら、頻度順でコーパスを作って用例を考えて発音記号も書いて…ということをするのですが、そこまでやるのは面倒なのでやりませんでした(キッパリ)
あくまでも間に合わせの確認用なので、教材用のデータも辞書を参照するまでのことをせず、誰かが集めてくれたデータをお借りすることに致しました。データ元はプログラミング英語検定のものです。オープンソース、探してみると見つかるものですね(こちらには教材も動画も用意されているので、自分が作らなくてもいい気がしています)
データを抽出したら構造化してしまいます。本当はSharePointリスト(あるいはMicrosoft Lists)に保存する方が良いのですが、データ整形後のExcelデータを上手くインポートできなかったので、今回はシート保護をかけたExcelブックを元にアプリを作成します。
ポイントは、作るアプリをイメージしながらテーブル設計することです。ここが上手くできないと、狙ったとおりにアプリが動いてくれません。
プログラミング
データがしっかりしていれば、あとはそのイメージに当てはめながらコーディングしていきます。この辺りは connpass イベントにご参加ください。アーカイブ動画なども発信していますので、是非。もちろん、隅田に聞いていただいても喜々としてお話いたします。
Teamsに共有する
完成したらTeamsに共有です。共有の際の注意点はデータソースにもアクセス権を付与することです。今回はエクセルをデータソースとしていますので、忘れずに行いましょう。
ここでSharePointリストを使っていれば余計な手順を省くことができます。複数人(100人以内)で使用することが分かっているならSharePointリスト(Microsoft Lists)を使っておく方が無難ですね。
それにしても、Excelで整形したデータですが、SharePointリストに取り込めはするものの上手く機能してくれない様子です。なんとかならないものかな(あるいはやり方が悪いのか)
結:今後の課題
ひとまずは見た目も使いやすさも何も考えず、今後、訓練生の声を吸収しながら改良を加えていく予定にしておきます。
現段階で直したいと思っているところは「調整中」と書かれた出題範囲。きちんと構造化できていないとこういうミスが起こってしまいます。アプリ作成においてデータは最重要項目ですね。
あとは、SharePointリストに集めている成績データをPower BIで可視化して成績表を作っても面白いだろうな…と考えています。PBI、ほとんど全く触っていないので良い機会になりそうです。
より皆さんの「勉強したい!」という声に応えていきたいものですね。
こちらの四択問題アプリは、卒業生が継続学習を目的に集まっているコミュニティにて、隅田によるハンズオンイベントを企画中です。そのリハーサルも兼ねて、何度か同じものを作っておきたかったので良い勉強になりました。
さて、簡単ではありますが、お付き合いありがとうございました。引き続きVBAの勉強をがんばっていきましょう。よろしくお願いします(?)