
月曜の朝、いつものようにExcelの集計マクロボタンを押した瞬間、「実行時エラー」が出て画面がピタッと固まってしまうことがあります。
原因の多くは、IEの廃止やEdgeの自動アップデートによる接続切れです。今回は、現場のExcel業務を止めずに「Playwright(プレイライト)」へ段階移行し、毎月のエラー対応をゼロにする実践手順をわかりやすく解説します。

わたしも以前、前任者から引き継いだExcelマクロが月曜の朝に突然動かなくなり、冷や汗をかきながら何百行ものデータを手作業でコピペしてしのいだ苦い記憶があります。「また来月も止まるかも…」と怯える日々から抜け出すための手順を、一つずつ丁寧にまとめました!
この記事でできるようになること|止まらない自動化への3段階ロードマップ
社内で長年使われてきたExcelマクロをいきなり全部作り直そうとすると、現場の業務が止まってしまいます。まずは全体像と「この記事に出てくる3つの基本用語」を押さえた上で、無理のないステップで順番に進めていきます。
そもそも「Playwright」や「WebDriver」とは?専門用語を30秒で整理
ブラウザ自動化の話を調べると、聞き慣れないカタカナ用語がいくつも出てきますよね。まずは本記事で登場する3つのキーワードが「一言でいうと何なのか」を、身近なイメージで整理しておきます。
WindowsやExcelを開発しているMicrosoft社が公式に開発した、Python用の次世代ブラウザ自動操作ツール(無料ライブラリ)です。人間がマウスで画面をクリックしたり文字を入力したりする動きを、裏側で正確かつ高速に代行してくれます。
最大の特徴は「ブラウザのバージョン更新に自動で追従し、画面の読み込み完了も自動で待ってくれること」です。
Excel VBA(SeleniumBasicなど)からEdgeやChromeを操作するときに、間に挟む「中継プログラム(通訳役)」のことです。
Edge本体が毎月自動アップデートされると、手元のWebDriver(msedgedriver.exe)とバージョン番号がズレてしまい、その瞬間にマクロがエラーで止まってしまいます。
openpyxlとは、PythonからExcelファイルを直接読み書き・操作するライブラリ(定番ツール)のことです。
PlaywrightでWebから集めたデータを、既存のExcel帳票テンプレート(.xlsx)へきれいに流し込んで保存する役割を担います。

最初は「Playwrightって何だか難しそうな英語だな…」と身構えていました。でも実際に触ってみると、Microsoftが作っている公式ツールなのでEdgeとの相性が抜群で、「毎月ドライバを手動でダウンロードして入れ替える作業」が丸ごと不要になる感動は本当に大きかったです!
これまでのマクロは「ブラウザが更新されるたびに中継ケーブル(WebDriver)が抜けてしまう状態」でした。従来の方式とPlaywright方式の違いを比較表で整理します。
【STEP 1】まずExcelのVBE画面を開き、マクロが止まる原因箇所を探す
いきなりプログラムを書き換える前に、まずは「今のExcelブックのどこで古いブラウザ操作が行われているか」を点検します。作業する画面はExcelの標準エディタ(VBE画面)1つだけです。
対象のExcelファイル(.xlsm)を開いたら、以下の3ステップで原因箇所を洗い出します。
- キーボードの
Alt + F11を同時に押してVBE(Visual Basic Editor)を開く
Excelの画面上に「Microsoft Visual Basic for Applications」というタイトルの編集ウィンドウが開けば準備完了です。 Ctrl + Fで検索窓を開き、「対象」を『プロジェクト全体』にして検索する
検索するキーワードはInternetExplorerまたはSelenium(WebDriver)の2つです。これらが見つかった行こそが、ブラウザ更新のたびにマクロを止めている犯人です。- メニューの「ツール」➔「参照設定」で『MISSING(参照不可)』がないか確認する
チェック欄にMISSING: Microsoft Internet Controlsと表示されている場合、Windows側からIE部品が削除されたことで起動すらできない状態になっています。

他人が作った何千行もあるマクロでも、実はブラウザを起動している場所は CreateObject("InternetExplorer.Application") のたった数行だけ、というケースがほとんどです。まずは Ctrl + F でその場所を見つけるだけで、気持ちが一気にラクになりますよ。
Excelの手作業やマクロの限界を感じたところから、Pythonによる自動化・Web開発へとステップアップしていく実体験プロセスをまとめています。
Excelマクロからの移行やPythonによる自動化を基礎から手元でじっくり学びたい方には、図解が豊富でつまずきにくい入門書を1冊デスクに置いておくのがおすすめです。
Excelブックの読み書き(openpyxl)からWebブラウザの自動操作・データ抽出まで、非エンジニアやVBA経験者がつまずきやすいポイントを丁寧に解説した実践入門書です。既存の定型業務をPythonへ置き換える最初の1冊として最適です。
各担当者のPCに散在するマクロ付きExcelブックを将来的に一元管理された社内Webアプリ・データベースへ集約したい方に向けた体系的な実践書です。Webのフォーム送信やセッションの仕組みも深く理解できます。
【STEP 2】応急処置の限界を知る|なぜEdgeの自動更新で毎月また止まるのか?
「今日・明日の締め処理にどうしても間に合わせたい!」という緊急時には、Edgeの『IEモード』を有効にしたり、msedgedriver.exe を手動で差し替えたりする応急処置が使われます。しかし、これを恒久対策にしてしまうと、翌月また同じトラブルに襲われます。
応急処置を行う場合は、以下の「2つの期限・制約」を事前に押さえておく必要があります。
- ① Edgeの「IEモード」登録は30日間で自動的に期限切れになる
Edgeの設定画面(edge://settings/defaultBrowser)から社内URLをIEモードに登録しても、エンタープライズポリシーがない環境では30日後に設定がリセットされます。 - ② 手動配置した WebDriver(msedgedriver.exe)は約4週間で不一致になる
Edge本体はセキュリティ維持のため約4週間ごとに自動でバージョンが上がります。そのたびに手動でドライバをダウンロードし直す運用は、担当者が異動・不在のときに業務停止を招きます。

わたしも最初は「毎月ドライバを入れ替えればいいや」と思っていました。ところが、ちょうど自分が有休を取った日にEdgeの自動更新が重なり、職場から「マクロが動かない!」と緊急連絡が入ったときに、手動メンテナンスの限界を痛感しました。
📌 Microsoft公式ドキュメントにおけるIE11廃止と自動化推奨方針
Internet Explorer 11 デスクトップアプリケーションのサポート終了に伴い、レガシーなCOMオートメーション(
InternetExplorer.Application)に依存するスクリプトは動作保証外となり、Web標準の自動化フレームワーク(Playwright等)への移行が推奨されています。(出典:Microsoft Learn 公式発表)
【STEP 3】Playwright+openpyxlへ移行し、「止まらない定型業務」を完成させる
応急処置で当面の締め処理を乗り切ったら、いよいよ本丸である「Playwright + openpyxl」による完全自動化へ移行します。やることはシンプルで、まずPlaywrightでWeb画面からデータを集め、次にopenpyxlでいつものExcel帳票に書き込んで保存する2段階だけです。
最初に1回だけ、Windowsのコマンド画面(PowerShellまたはコマンドプロンプト)で以下の2行を実行して、Playwrightとopenpyxlをインストールします。
この playwright install chromium を実行しておけば、Playwright自身が自動操作専用の安全なブラウザ環境を管理してくれるため、普段使っているEdgeが自動更新されても一切影響を受けなくなります。あとは以下のテンプレートスクリプト(migrate_ie_macro_to_python.py)に対象URLとシート名を入れるだけで動きます。

「現場のスタッフは黒い画面(コマンド)を使えないから、Python化は無理では?」と心配になるかもしれませんが、大丈夫です!Excelのボタンに1行だけ CreateObject("WScript.Shell").Run "python migrate_ie_macro_to_python.py" と登録しておけば、現場の人は今まで通りExcelのボタンを押すだけで裏側でPlaywrightが動いてくれます。
古い仕組みが廃止された際、Pythonスクリプトへ段階的に切り替えて毎日のデータ取得を安定稼働させた実践記録です。
日々のスクリプト作成やコードの書き換え作業をより快適に進めるなら、タイピング疲れを軽減するメカニカルキーボードや、実務レベルの自動化設計を体系的に学べる講座もあわせてチェックしてみてください。
ブラウザ上のVIA設定でショートカットや定型キーマクロを本体メモリへ直接登録できるプロ仕様のテンキーレスメカニカルキーボードです。吸音フォーム内蔵の心地よい打鍵感で、長時間のPython・VBAコーディングでも指先の疲労を大幅に抑えてくれます。
レガシーなマクロの保守から一歩踏み出し、現場で通用するWebアプリケーション設計やエラー切り分け・チーム開発の基礎を体系的に習得できる実践型プログラミングスクールです。
まとめ
Playwright+openpyxlへの段階移行で「毎月止まるマクロの不安」を解消する
突然動かなくなったExcel VBAの旧IEマクロも、VBE画面での原因箇所の特定、手動ドライバやIEモードの期限把握、そしてPython(Playwright+openpyxl)への段階移行という3ステップを踏めば、現場のExcelファイルを変えずに安定した自動化環境へアップデートできます。

最初は小さな定型作業1つだけで構いません。Playwrightでブラウザがスッと動いてExcel帳票が自動で出来上がる瞬間を体験すると、「もう毎月のアップデートに怯えなくていいんだ!」と本当に心が軽くなります。ぜひ今日、VBEを開いて検索するところから始めてみてください。
- Excel上で
Alt + F11を押してVBE画面を開き、InternetExplorerやSeleniumの呼び出し箇所を特定したか - 応急処置のIEモード(30日期限)や手動WebDriver差し替え(約4週間周期)の限界を把握したか
pip install playwright openpyxlとplaywright install chromiumで自動追従環境を用意したか- 既存のExcelテンプレート(
.xlsx)を活かし、データ取得と書き込みだけをPythonスクリプトへ切り出したか

