VBAをやめて生成AI×Pythonで転記ツールを作り直したら、配布の問題が完全に消えた話|人事情報の転記自動化・後編

前編では、Googleフォームへの切り替えとVBA転記システムの完成についてお話ししました。中編では、そのツールを社員全員のPCに展開しようとしました。しかし、ChromeDriverの配布という予想外の壁にぶつかった経験をお伝えします。

「動かなくなったら連絡してください」という案内を出していました。しかし、Chromeのアップデートのたびに問い合わせに対応し続けました。そんな日々でした。「これをどうにかしなければならない」と思い始めたことが、Python移行を決断したきっかけです。

Python移行とAI活用

まず、「Pythonに移行すれば、ChromeDriverのバージョン管理問題が解決できるかもしれない」と考えました。そのとき、頼ったのは生成AIでした。

既存のVBAコードがあったので、それをまるごと生成AIに共有しました。「このVBAで作ったSeleniumツールをPythonで書き直したい。ChromeDriverを使わない方法で」と依頼しました。システムの概要を理解してもらうことが目的でした。

開発を進めていきました。転記システム全体は、かなり複雑な工程を含んでいます。最初からすべてを一度に作ろうとしても難しいと考えました。まずはログイン画面の実装から始めることにしました。必要な機能を生成AIと相談しながら、一つずつ積み上げていくイメージで進めました。

生成AIとの壁打ちで知る根本解決

次に、最初に提示されたコードを実行してみました。しかし、当然ながら最初はうまくいきませんでした。エラーメッセージが出るたびに生成AIに投げ、修正コードをもらって動かすのです。また別のエラーが出る、というサイクルが延々と続きました。

生成AIとのやり取り画面:エラーを投げて修正を繰り返す壁打ち開発の実録

VBAをゼロから学んでいた頃を思い出します。エラーメッセージをコピーしてGoogle検索しました。Stack Overflowや個人ブログを読み漁り、コードを試しました。すると、また違うエラーが出ます。この作業を何時間も繰り返していました。

今回はその相手が生成AIになっただけです。基本的な構造は同じでした。しかし、違うのはスピードでした。エラーを投げれば即座に修正案が返ってきます。調べる時間がない分、試行回数を多く稼ぐことができました。

AIが導くWebDriver自動管理

生成AIとの壁打ち開発が進む中で、エラーメッセージの修正を繰り返しました。その中で、一つの事実に直面したのです。

それは、PythonのSeleniumが持つ「WebDriverの自動管理」という機能でした。これはVBAにはない強力な機能です。VBAを学んでいた頃には、この根本的な違いを知りませんでした。私たちが直面していた配布問題の根源を解決する鍵だと、生成AIは教えてくれました。

VBA時代のChromeDriver更新管理の苦悩

一方で、VBAでSeleniumを動かしていた頃を振り返ってみます。私たちは使っているChromeブラウザのバージョンに合ったChromeDriverを、手動でダウンロードしていました。そして、PC内の特定のフォルダに配置する必要がありました。

VBAコードの中では、そのChromeDriverのパスを正確に指定します。Chromeが自動アップデートされるたびに、古いChromeDriverは使えなくなりました。新バージョンをダウンロードし直し、パスを更新する手間が発生したのです。

この一連の作業は、開発者である私が行う分にはまだ耐えられました。しかし、それを社員全員のPCに展開し、それぞれに同じ作業を強いるのは不可能でした。

配布先のPCでChromeが更新されれば、ツールは途端に動かなくなります。そのたびに問い合わせが殺到しました。「動かなくなったら連絡してください」という注意書きは、今思えば開発者の責任逃れのようにも聞こえていたかもしれません。

ChromeDriverの自動管理

PythonのSeleniumは、この悪夢のような状況を根本から変えてくれました。生成AIが提示したPythonのコードには、ChromeDriverのパスを指定する記述が見当たりません。

最初は戸惑いましたが、生成AIが詳しく解説してくれました。PythonのSelenium 4.x以降に搭載された「Selenium Manager」という機能があります。また、`webdriver_manager`といった外部ライブラリの存在も知りました。

これらは、開発者が意識することなく機能します。ユーザーのPCにインストールされているChromeブラウザのバージョンを自動的に検出するのです。そして、最適なChromeDriverをインターネットから自動的にダウンロードし、適切な場所に配置してくれます。

ChromeDriver自動更新、常に最適な動作

この仕組みは、例えるならアプリの自動更新機能と似ています。ユーザーはアプリのバージョンを気にすることなく使い続けられます。

PythonのSeleniumも同様に、常に最新かつ互換性のあるWebDriverを裏側で準備してくれるのです。つまり、配布先の社員が使っているChromeがいつアップデートされようとも、問題ありません。

Pythonの転記ツールは、自律的に最適なChromeDriverを見つけてきてくれます。そのため、ツールが「突然動かなくなる」という事態が起こらなくなりました。

Python移行を決めた日、最初にしたことに関する解説図(日本語UI)

Python Seleniumの自動管理とインストール…

VBAのSeleniumは、開発者や利用者が手動でWebDriverのバージョンを管理することを前提としていました。しかし、PythonのSeleniumは違います。

その面倒な管理を、ライブラリ自身が肩代わりしてくれる設計になっています。この決定的な違いこそが、配布後の運用で発生するバージョン不一致の問題を解決するカギでした。

生成AIとの壁打ちを通じて、私は単にVBAコードをPythonに翻訳しただけではありません。Pythonが提供するスマートな解決策と、そのメカニズムを理解することができました。

これまでのVBAでの苦労は、この機能を知らなかったが故のものだと痛感しました。これで理論上は、配布後のバージョン管理問題が解決できました。

しかし、まだ大きな課題が残っていました。それは「Pythonをインストールしていない社員のPCでどうやってツールを動かすのか」という問題です。

💡 ここで一度立ち止まって考えてみてください

PythonやExcel自動化スキルを持ったまま、ITエンジニアとして転職したい方には「EBAエデュケーション」が選択肢です。企業が求めるエンジニア像に合わせたカリキュラムで、実務直結のスキルを習得できます。

ITエンジニア転職・EBAエデュケーション →

Python配布の悪夢を終わらせる魔法

PythonのSeleniumがWebDriverの自動管理機能を持つことで、バージョン不一致問題は解決の糸口が見えました。しかし、新たな課題がありました。

総務や経理、人事などの社員のPCには、Pythonがインストールされていないことが一般的です。Pythonスクリプトをそのまま配布しても動きません。

また、社員全員にインストールをお願いするのは現実的ではありませんでした。会社のセキュリティポリシーを考えると、勝手にソフトウェアをインストールさせるわけにもいきません。

VBAであればExcelさえあれば動かせました。しかし、Pythonではどうするのか。ここに、配布の悪夢を完全に終わらせる「魔法」が必要でした。

PythonツールのPyInstaller配布で問い合…

その魔法こそが、「PyInstaller」というツールです。生成AIは、PyInstallerの存在を教えてくれました。

PyInstallerは、Pythonスクリプトを配布可能な単一の実行ファイル(Windowsであれば.exeファイル)に変換できます。PyInstallerを使うと、書いたPythonコードと、動作に必要なPythonインタープリタをまとめられます。

さらに、すべてのライブラリ(Seleniumなど)も一つのパッケージにまとめます。そして、自己完結型の実行ファイルとして出力できるのです。

PyInstaller:ツールの簡単配布と問い合わせ消滅

このメカニズムは、実にシンプルで強力です。PyInstallerが生成した`.exe`ファイルは、社員のPCにPythonがインストールされていなくても起動します。

ダブルクリックするだけで起動し、まるで普通のWindowsアプリケーションのように振る舞うのです。実行ファイルの中には、Python実行環境が圧縮されています。

起動時に一時的に展開されてスクリプトを実行するため、ユーザーはPythonの存在すら意識する必要がありません。これは、VBAのマクロ有効ブックを配布する際の手間と比較しても、圧倒的な手軽さでした。

たです。転記システム全体はかなり複雑な工程を持っていますに関する解説図(日本語UI)

VBAからexeへ、問い合わせゼロ

VBAのマクロ有効ブックは共有フォルダに置けば動きます。しかし、セキュリティ警告が表示され、「コンテンツの有効化」を押してもらう手間がありました。

また、ソースコードが誰でも見られる状態にあることも、心理的な抵抗感がありました。PyInstallerで生成した`.exe`ファイルであれば、中身のコードが簡単に見られることはありません。

セキュリティ警告も少なくなる傾向があります。社員はただアイコンをダブルクリックするだけで、ツールが起動し自動転記が始まります。

実際にPyInstallerを使って転記ツールの`.exe`ファイルを作成しました。そして、社内共有フォルダに配置しました。社員向けには「新しい転記ツールです。このアイコンをダブルクリックしてください」という簡潔な案内だけを行いました。

結果は驚くべきものでした。VBA時代に頻発していた問い合わせが、文字通り完全に消滅したのです。「ツールが動きません」「ChromeDriverの更新はどこからですか?」「Pythonって何ですか?」といった問い合わせは、もうありません。

社員は配布された転記ツールを当たり前のように使いこなしています。Chromeがアップデートされても、PCの環境が変わっても、ツールは常に問題なく動作し続けました。

Pythonが解いた配布の魔法

PythonのSeleniumが持つWebDriverの自動管理機能。そして、PyInstallerによる実行ファイル化。これら二つの要素こそが、VBA時代に私たちが苦しんだ「配布の問題」を過去のものとした魔法でした。

開発者はバージョン管理や環境構築の心配から解放されました。利用者はツールの安定稼働を享受できます。総務・経理・人事の社員が本来の業務に集中できるようになったのは、この「魔法」のおかげだと感じています。

もう二度と、配布の問題に悩まされることはないでしょう。

ただ、以前、「Pythonをインストールしていない社員のPCでどうやってツールを動かすのか」という問題が目の前に立ちはだかりました。VBAの時はExcelさえあれば動かせました。しかし、Pythonはそうはいきません。

社員全員にインストールしてもらうことも現実的ではありませんでした。また別の「配布の悪夢」が始まるように感じて途方に暮れていたのです。

PyInstallerで配布の悪夢解消

この新たな壁にぶつかった時も、生成AIに相談しました。「Pythonで作ったツールを、PythonがインストールされていないPCで動かすにはどうすればいいですか?」と尋ねたのです。

生成AIは「実行ファイル化」という概念と「PyInstaller」を教えてくれました。Pythonのコードを`.exe`ファイルのような、単独で実行できる形式に変換できると聞きました。「これだ!」と直感しました。まさに魔法のような解決策でした。

PyInstallerで配布の悪夢解消

しかし、使い方は最初からすんなりとはいきませんでした。コマンドプロンプトを開いて、呪文のようなコマンドを入力します。

エラーが出れば、生成AIに相談してオプションを調整しました。足りないライブラリをインストールする作業もありました。VBAの時と同じように、地道な壁打ちの繰り返しでした。

特にSeleniumを使うツールだったので、苦労しました。WebDriverの自動管理機能とPyInstallerを組み合わせる部分で、何度か躓いたのです。しかし、生成AIは辛抱強くヒントや修正案を提示し続けてくれました。

生成AIとの壁打ち開発が始まったに関する解説図(日本語UI)

ついに完成した`.exe`ファイルを見たときは感動しました。たった一つのファイルを配布すれば、社員はPythonの有無を気にする必要がありません。ダブルクリックするだけで、私の作ったツールが動き出します。これはVBA時代には考えられなかったことです。まさに配布の悪夢を終わらせる画期的な方法でした。ファイルサイズは少し大きくなりましたが、それ以上に配布の容易さと運用の安定性がもたらすメリットは計り知れませんでした。

生成AIが叶えた配布の悪夢終焉

exe化したツールを配布した後の状況は、劇的に改善しました。以前はChromeのアップデートのたびに問い合わせが殺到していました。

しかし、Python版に切り替えてからはピタリと止まりました。社員からは「何も設定していないのに動くから便利だね」といった何気ない一言が聞かれるようになりました。

その裏には、私が生成AIと格闘した数々の試行錯誤があったことを思います。感慨深いものがありました。私自身もChromeDriverのバージョン管理に頭を悩ませる必要から解放されました。

この「Pythonの実行ファイル化」こそが、私が長年苦しんできた「配布の悪夢」を終わらせる、たった一つの魔法でした。

生成AIとの出会いがなければ、Python移行を決断することもなかったでしょう。PyInstallerの存在を知ることもなかったと思います。プログラミングに詳しくなかった私がここまで来られたのは、本当に生成AIという強力な相棒がいたからだと、今あらためて感じています。

これでようやく、安心してツールを社員に提供できるようになりました。

関連リンクとチェックリスト

無料プレゼント

Excel業務を自動化する前に確認するチェックリスト(PDF)

自動化していい作業かどうか、VBAかPythonか、最初に避けるべき落とし穴。実務でよく迷うポイントを1枚にまとめました。メールアドレスだけで受け取れます。

無料でチェックリストを受け取る

¥980 ミニキット

コピペで動かせる3スクリプト+自動化チェックリスト

最新ファイルの自動選択・部署名ゆれの正規化・CSV文字コード確認の3本セット。今週の作業を1つだけ楽にするための最小キットです。

ミニキットを見る(¥980)

関連する学びを少し広げるなら

日々の作業を少しでも軽くしたい方には、業務効率化の考え方を本で整理する方法もあります。

業務効率化の関連書籍(Amazon) →

学習サービスとアンケート

VBA・Pythonをもっと本格的に学ぶなら

VBAやPythonを実務レベルまで引き上げたい方には「侍エンジニア」がおすすめです。マンツーマン指導・オーダーメイドカリキュラムで、文系出身でも挫折しにくい環境が整っています。無料カウンセリングだけでも学習ロードマップが明確になります。

侍エンジニア 無料カウンセリングを予約する →

[アンケート] この記事は役に立ちましたか?

30秒で答えられます。改善の参考にします。

1問だけ回答する