CopilotにVBAを作ってもらう
去年息子が小学校を卒業したのですが、妻が卒業対策委員だったので、私も色々とお手伝いをしました。
保護者主催の謝恩会の準備や設営、飾り付け。保護者出し物の企画や練習。卒業アルバムの準備や、卒業記念品のアイディア出しなどなど。
私はスライドショー作成や、卒業式の撮影、記念DVDの作成を担当しておりました。
6年間で仲良くなった親同士で、あーでもないこーでもないと言いながら準備をした日々は、とにかく楽しかったです!
楽しい事を催すのは、楽しいですよね。
とはいえ…
やる事がたくさんあったので、やってる最中は手数を減らしたい!の一心。
という事で、スライドショーに使用する子供の写真加工をExcelで自動化してみました。
(VBAの知識ゼロなので、ほとんど興味本位でw)
*CopilotにVBA書き出しの履歴が残っていなかったので、以下で作業の流れを記事にしております。
結果的に、どうやったらAIをうまく活用できるのかを試行錯誤するハメになるんですが、それもまた楽しいよね、っていう記事です笑
写真加工の自動化
やりたい事は、
卒業児童の写真を撮影し、その写真を加工する作業。
本人にアンケートで書いてもらった「自分の夢」「好きな○○」を、画像に重ねて装飾。
完成した画像はスライドショーに活用します。
児童数は100名弱なので、手作業だと結構大変。
児童向けに説明した資料がこちら↓
1枚目は、「好きな○○」は何かをデカデカと載せたい。
さらに背景透過のPNG画像を3種類用意して装飾。3種類は出席番号の順に適用されるようにした。
2枚目は、まっさらな黒板に「自分の夢」をデカデカと載せる。
背景画像として、チョークで描いたようなPNG画像を3種類用意。日直の欄には児童名が縦書きで入るようにしたい。
準備
まず、
撮影した写真は、共有のグーグルドライブに教室用と階段用にフォルダを分けて保存。
ファイル名が生徒の名前になるように、手分けして変更。
ここは人力。皆で分担。
そして、
アンケートについても、子供に手書きで書いてもらったものを、皆でスプレッドシートへ入力。人力。
(クラス,出席番号,氏名,アンケート内容)
*教室で撮影したものには、生徒名を日直欄に記載したいので、戸籍と同じになるように注意した。
作成した表を、エクセルにコピペ。
教室用と階段用に分けて保存し、写真と同じフォルダにそれぞれ格納。
装飾用のPNG画像は、撮影写真と同じ縦横比の同じ解像度で作成し、デザイン違いで3種類用意。ファイル名をA,B,Cにして、こちらも同じフォルダに格納。
指示出し
ここからが本番。
しかし実際はそう簡単にいくわけもなく。
CopilotはMicrosoftのAIなので、Excelは得意分野なのかな、と思いきや…
エラーに立ち向かうのは骨が折れるので、工程をいくつかに分けてVBAを作成依頼。
エラーが出た場合には、違うルートでVBA作成を依頼するようにしたら、精神的に楽です。
第一段階
実際に指示したこと↓
- エクセルの児童名ごとにシートを作成。
- 各シートに同一フォルダ内にある児童名と同じファイル名のjpg画像をシートに貼り付け。
- 出席番号順に3種類のPNG画像A,B,Cを順番に割り振り、各生徒のjpg画像の上に重ねて貼り付け。
⇒これで下地の画像が完成!
第二段階
次の指示をする前に、先頭の子のシートをコピーし、「テスト」というシートを作成しました。下地の画像にテキストボックスを作成して、レイアウトを思案。
- 階段用は「好きな」「○○は」「○○」の3つテキストボックスを作成し、位置決め。太い文字が良かったので、「けいふぉんと」を指定しました。文字数に応じて、フォントサイズを変更できるように、「5文字以上は40ポイント」といったように細かく指定。
- 教室用は手描きっぽい「あずきフォント」を指定。日直欄に書き込む名前は、戸籍に合わせて特殊な文字にも対応しやすい「メイリオ」に。
- あとは、それぞれのシートに「テスト」シートと同じレイアウトでテキストボックスを作成してもらい、表の名前に対応した項目を、名前に対応したシートに入力するよう指示。
第三段階
第二段階までのVBAを実行して、間違いがないかを確認。
かなりいい感じにレイアウトが出来ました。
いよいよ画像の書き出し!なのですが、ここでトラブル。
エクセルで作成した画像をVBAで書き出そうと思ってコパイロットにVBAを作ってもらっても、エラーになるばかり。
手作業で作成した画像をすべて選択してグループ化し、左クリックで画像を保存すれば書き出すことが出来るのに、VBAでは結局できる方法が見つかりませんでした…
パワポにコピー&ペーストして、パワポから書き出すVBAを作成すれば出来るという事が分かったのですが、かなり時間を要してしまったため、結局その間に人力で書き出してしまいました。。。
AIが正解を導けないときの解決方法を準備しておかないと。
AIの活用で皆ハッピーと思っていたら、なかなかうまくいかずに、逆に時間がかかるパターンにハマってしまいました。
特に厄介だったのは、コパイロットさん、「はい!出来ます」と自信満々にVBAを書いてくれるんです。
「出来ないかもしれません」「それは無理です」って言ってくれた方が助かるのに、出来る子を演じる場合があるんですね。
そういったときに、別のAIにセカンドオピニオンをお願いすることも必要かもしれません。
AI活用を完遂出来なかったんですが、すごく勉強になった卒対作業となりました笑
完成した画像は、ダビンチリゾルブで6年間の思い出作品に編集し、みんな喜んでくれました^^
VBAもレイアウトまではいい感じだったんです。
一つ分かったことは、AIを効果的に使うためには、レスされる答えに対して、使用者の想像力が求められる、という事でした。
次は生活の中でどんな案件にAIを活用しようか考え中。
AIの導きだす答えに、何も考えず追従するようにはなりたくないですね。
