VBAからPythonへ乗り換えて気づいた、コードの書きやすさより大事な『環境構築』という名の壁

Python自動化の夢、環境構築の壁

「Pythonはコードがシンプルです。」「初心者にも非常に優しい言語です。」「VBAよりも圧倒的にできることが多いです。」インターネットで業務効率化について検索してみてください。すると、そんな魅力的な言葉が画面いっぱいに並びます。日々の請求書転記には嫌気が差します。交通費精算の作業も面倒なものです。見よう見まねでVBAを触り始めた会社員の方も多いでしょう。そんな方にとって、Pythonはまるで魔法の杖のように見えるはずです。

実は、私もその言葉を信じた一人でした。毎月15日は経理の締め日です。各部署から、30個以上のExcelファイルが送られてきます。それらを統合する作業が発生します。毎月5時間も奪われるこの作業は、まさに苦行でした。私は、Pythonという新しい相棒を導入しようとしました。それによって、華麗に自動化してやろうと目論んだのです。定時を過ぎた薄暗いオフィスでの出来事です。意気揚々と公式サイトにアクセスしました。インストーラーをダウンロードした瞬間の高揚感を覚えています。今でも、その時の感覚を鮮明に思い出すことができます。

挫折の入り口、環境構築の壁

環境構築の壁

しかし、そんな期待は数時間後に打ち砕かれました。無残な結果が待っていたのです。画面には真っ黒なウィンドウが広がりました。そこに白文字の羅列が表示されます。「SyntaxError」という冷たい文字です。「Command not found」というエラーもありました。指先はキーボードの上で止まってしまいました。こめかみの奥がジキジキと痛み始めます。コードを書いて業務を楽にするはずでした。しかし、スタートラインにすら立てないのです。エラーの原因を調べてネットの海を彷徨いました。気づけば、夜の22時を回っていました。オフィスには自分一人しか残っていません。手元には、1行も実行されていないスクリプトがあります。ただそれだけが、寂しく残されていました。

これが「環境構築」という壁の正体です。目に見えないほど巨大な壁です。VBAからPythonへ乗り換えた方がいます。非エンジニアの方が最初に直面するのは何でしょうか。それは、プログラミング言語の構文ではありません。自分のPC上でプログラムを動かす必要があります。そのための土台作りが、果てしなく難解なのです。

環境を整えることの難しさ

上げ膳据え膳VBA、Pythonという荒野

Pythonの厳しさを知りました。そこで初めて、過去の自分を振り返りました。どれほど恵まれた環境にいたかを痛感しました。VBAは、控えめに言っても上げ膳据え膳です。「実家」のような安心感に満ちていました。必要なものは全て用意されています。あらかじめ手の届く範囲にあるのです。

まず、普段使っているExcelを開きます。「Alt」キーを押しながら「F11」キーを叩きます。たったそれだけのアクションで十分です。真っ白なコードエディタが現れます。これはVBE(Visual Basic Editor)と呼ばれます。面倒な初期設定は一切不要です。怪しげな黒い画面でのコマンド入力もありません。思いついたコードをそのまま書き込みます。上部にある実行アイコンをクリックします。再生ボタンのような形をしています。それだけで、即座にプログラムが動き出します。VBAはExcelさえあれば準備が整います。Alt+F11で即座に開発も実行も可能だったのです。

VBAは実家、Pythonは一人暮らし

なぜこれほどまでに簡単だったのでしょうか。理由は極めてシンプルです。Microsoftが準備をしてくれているからです。Excelという巨大なソフトウェアがあります。その裏側に、必要なものをすべて内包しています。VBAを実行するためのエンジンがあります。エディタも備わっています。非エンジニアは、複雑な概念を意識しなくて済みました。OSの仕組みを知る必要もありません。ファイルの階層構造も関係ありません。メモリの割り当てといった知識も不要です。ただ「セルA1に文字を入れる」という目的がありました。その目的だけに、真っ直ぐ進むことができたのです。

まさに、至れり尽くせりのおもてなし環境です。そこから一歩、外へ踏み出しました。Pythonという広大な荒野に降り立ちました。その瞬間、現実に直面します。すべてのインフラを自分自身で整える必要があります。実家を出て、一人暮らしを始めた時のようです。電気や水道の契約を自分で行います。家具の組み立てまで、すべて自分で行います。そのことに気づいた時の疲労感に似ています。途方もない疲れを感じるかもしれません。

インフラ整備の孤独な戦い

Pythonインストール、PATHの落とし穴

次に、Pythonの導入を進めましょう。実家暮らしのぬるま湯から抜け出します。公式サイトからインストーラーをダウンロードしました。それを起動します。一般的なビジネスソフトと同じだと考えました。「Next」ボタンを適当に連打していれば終わるはずです。勝手に完了するだろうと高を括っていました。しかし、それが全ての悲劇の始まりでした。

インストールが完了しました。チュートリアルサイトの指示を確認します。コマンドプロンプトを立ち上げました。おもむろに「python」と打ち込みます。そして、Enterキーを叩きました。本来なら、Pythonのバージョン情報が出ます。しかし、画面には容赦のないメッセージが出ました。厳しい言葉が叩きつけられたのです。

「’python’ は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」

背筋を冷たい汗が伝います。たった5文字打ち込んだだけです。それなのに、なぜ怒られているのでしょうか。全く理解ができません。手作業には、毎月数十時間も費やしていました。その無駄をなくすために決意しました。意を決して踏み出した一歩目でした。それなのに、結果はこれだったのです。

PythonのPATH設定ミス

原因を調査しました。インストーラーの最初の画面にヒントがありました。そこに「Add Python to PATH」という項目があります。小さなチェックボックスが佇んでいます。これを見落としたことが原因でした。Pathとは何でしょうか。それはOSがプログラムを探しに行くための名簿です。住所録のような役割を果たす設定のことです。Windowsの奥深くに「環境変数」があります。このシステムに、Pythonの居場所を登録します。その作業が必要だったのです。

このチェックを忘れるとどうなるでしょうか。Windowsは、Pythonを見つけられません。PC内のどこにあるのか自力で探せません。「ここにあるよ」と教えてあげる必要があります。そうしない限り、コマンドは通りません。どれだけ正しい入力をしても無駄です。「そんなものは存在しない」と返されます。Pythonは、PATH設定のミスで動かないことが多いです。初心者がトラブルに見舞われる頻発ポイントです。チェックボックス一つの有無が重要です。それが、初心者に数時間の絶望をもたらします。

見落としがちなチェックボックスの重み

VBAからPythonへのステップアップを動画で学ぶなら

VBAの経験を活かしてPythonに挑戦したい方には、オンライン学習サイト「Udemy」が選択肢です。環境構築の手順から画面付きで解説してくれる講座が多く、自分もつまずいたときに何度も動画を見返しました。買い切り型なので、自分のペースで進められるのが助かります。

UdemyでPython入門講座を探してみる →

法人PCのPython、プロキシの壁と社内政治

Pathの問題をどうにか解決しました。ようやく、Pythonと対話できる状態です。しかし、次に待っているものがあります。それが外部ライブラリの導入という関門です。Excelファイルを高度に操作したいと考えました。そのためには「pandas」という道具箱が必要です。これを知り、黒い画面にコマンドを打ちました。「pip install pandas」という指示です。今度こそ成功するはずだと祈りました。しかし、その祈りはかき消されました。赤い文字の奔流が溢れ出したのです。

画面を埋め尽くすのは「Retrying」の文字です。そして最終的なメッセージが表示されました。「ConnectionError」という絶望的な文字列です。ここには、会社員特有の壁があります。分厚い壁が立ちはだかっているのです。会社のプロキシサーバーという存在です。そして、厳格なセキュリティソフトもいます。それらは、ネットワークの番人のようです。

pipと社内ネットワークの葛藤

pipというコマンドの仕組みを説明します。これは、インターネット上の倉庫にアクセスします。PyPIと呼ばれる巨大な場所です。そこから必要なファイルをダウンロードします。すべて自動で行う便利な仕組みです。しかし、企業のネットワークは慎重です。得体の知れない通信を極端に嫌います。ブラウザからのWeb閲覧は許可されています。しかし、コマンドからの通信は別です。それは無機質な通信に見えてしまいます。不正なアクセスとみなされるのです。その結果、容赦なく遮断されてしまいます。法人内でPythonを触る者がいます。その者が必ず通る道といえるトラブルです。プロキシ制限による失敗は非常に多いです。

情シス部門との交渉という試練

これを解決するには知識が必要です。プロキシの認証情報を設定しなければなりません。環境変数に書き込む作業です。または、pipコマンドにオプションを足します。ネットワークの基礎知識が要求されるのです。情シス部門に電話をかけることもあります。「Pythonを使いたい」と伝えます。「通信制限を解除してほしい」とお願いします。その時の緊張感は忘れられません。胃が締め付けられるような思いでした。「それは業務に必須ですか?」と聞かれます。「セキュリティの承認はありますか?」と詰められます。言葉に詰まってしまうこともあるでしょう。コードを一行も書いていません。それなのに、社内政治で疲弊してしまいます。ネットワークの知識不足に悩まされるのです。

Python依存関係の衝突と仮想環境

数々の苦難を乗り越えてきました。ついに、望み通りのスクリプトが完成しました。ワンクリックでデータが整理されます。瞬時に完了する感動は素晴らしいものです。手作業なら丸3日はかかる仕事です。データクレンジングの作業のことです。それがわずか15秒で終わりました。その時の全能感は筆舌に尽くしがたいです。あまりの便利さに感動しました。隣の席の同僚も、同じ業務で苦しんでいます。「これ、使ってみてよ」と伝えました。そして、.pyファイルを渡したのです。

同僚がファイルを実行しました。その瞬間、画面に文字が踊ります。「ModuleNotFoundError」という無情な表示です。「あれ? 自分のPCでは動くのに」。この言葉は、非常に危険なフラグです。プログラミングの世界では厄介な問題です。VBAであれば簡単でした。マクロ入りのExcelを渡すだけです。それだけで、相手のPCでも再現できました。しかし、Pythonは仕組みが異なります。実行環境をセットで管理する必要があります。ライブラリ一式も同様です。その重要性を見落としていたのです。

レシピと調理器具のたとえ話

スクリプトは「レシピ」のようなものです。レシピだけを渡しても料理は作れません。相手のPCに「調理器具」が必要です。同じ道具が揃っていなければなりません。そうでなければ、プログラムは動かないのです。このことを忘れてはいけません。

依存衝突回避の鍵、仮想環境(venv)

恐ろしいのは、自分のPC内でも起こります。それが、衝突事故という現象です。新しい業務ツールを作ろうとしました。別のライブラリをインストールします。その結果、以前のツールが壊れました。突然、動かなくなってしまうことがあります。すべての道具を一箇所に入れています。大きな箱に放り込んでいる状態です。それゆえに「依存関係の衝突」が起こります。道具同士が喧嘩をしてしまうのです。

ここで、一つの概念に気づきます。「venv(仮想環境)」という重要性です。プロジェクトごとに部屋を作ります。完全に独立した専用の部屋です。その部屋の中だけで道具を揃えます。必要なバージョンのものだけを用意します。これが仮想環境の仕組みです。これを使わないとリスクがあります。ライブラリのバージョン競合で詰みます。その不安が常につきまといます。この概念を理解するのは大変でした。私は、丸2週間もの時間を費やしました。

環境構築の苦難、その先の自由と可能性

エラー画面と睨み合いました。ネットワークの設定に四苦八苦しました。仮想環境の構築にも頭を悩ませました。ここまでの道のりを振り返ります。「VBAを使い続けていればよかった」と思いました。そう後悔する瞬間が何度もありました。皆さんも同じかもしれません。非常に険しい道のりだからです。

それでも、私たちは山を登ります。環境構築という名の険しい山です。なぜ、登り続けるのでしょうか。それは、山の向こうの景色を知っているからです。圧倒的な自由が広がっています。無限の可能性がそこにはあります。ブラウザを自動操作できます。数千件のWebデータを集められます。AIと連携することも可能です。テキストを高度に分析できます。PDF帳票も一瞬で変換できます。Excelへの変換もお手の物です。これらはVBAだけでは難しいです。箱庭の中では実現できない魔法です。強烈な業務効率化を体験できます。年間120時間以上を浪費していました。そんな単純作業が消え去ります。数行のコードによって一瞬で終わります。この快感は、一度味わえば忘れられません。

環境構築の学びと達成感

環境構築は、単なる準備ではありません。面倒な作業と思われがちです。しかし、実は不可欠なプロセスです。OSの仕組みを知ることができます。ネットワークの制限も理解できます。プログラムが動く原理を学べます。それは、とても価値のある学びです。最初は、得体の知れない画面でした。真っ黒な画面が怖く見えました。しかし、仕組みを理解すれば変わります。自分の思い通りに動くようになります。忠実なシステムへと変わるのです。Pythonの強大な力を得られます。そのための入場料のようなものです。これほど学びの多い試練はありません。

何度もエラーに弾かれます。PCを投げ出したくなる夜もあります。しかし、エラーには理由があります。必ず、解決の糸口が隠されています。一つひとつ紐解いていきましょう。壁を乗り越えた先に喜びがあります。自分の手で組み上げた環境です。そこで最初のコードが完走しました。その瞬間の達成感は圧倒的です。手に残る確かな技術の感触があります。それは、あなたの働き方を変えます。劇的な変化をもたらす原動力となります。

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

無料プレゼント

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

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

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

¥980 ミニキット

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

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

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

関連書籍

Python業務自動化関連書籍を、手元で見返せる形にしておきたい場合

Pythonやデータ処理の自動化は、作りながら同じ基礎を何度も確認する場面が多いです。手元で見返せる本があると、調べ直しの時間を減らしやすいです。

Python業務自動化関連書籍をAmazonで探す

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

このスキルを活かしてさらに前へ進むなら

Pythonや自動化スキルを体系的に習得して、ITエンジニアとしてのキャリアを切り開きたい方には「Enjoy Tech!(エンジョイテック)」が選択肢のひとつです。

プログラミングスクール Enjoy Tech!(エンジョイテック) →

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

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

1問だけ回答する