はじめに
2026/10/29に公開された Windows Update の累積更新プログラム KB5127936 の適用後に、それまで動作していた SeleniumBasic にてエラーが発生する事例が報告されています。
エラーは、Driver.Start “chrome” の行で発生しており、その内容は TimeoutErrorで、
“The driver failed to open the listening port xxx within 10s”
というもの。
Excel VBA Selenium problems opening port - stackoverflow
現時点では原因の詳細は判明していませんが、更新プログラムのアンインストールによって解消したという報告もあり、Windows Updateとの関連が疑われます。
原因と思われるところ
【追記 2026/11/04】
Windows側の内部的なネットワーク処理やデータ構造の変更に伴い、従来のIPヘルパーAPIである GetTcpTable を使用してTCPリスニングポートを検出する古いアプリケーションやライブラリ(SeleniumBasicなど)で互換性問題やエラーが発生しているようです。
暫定回避策
PowerShellでChromeDriverを外部プロセスとして起動し、SeleniumBasicのStartRemotelyメソッドを使用してそれに接続する
恒久対応
プログラムの修正、GetTcpTable → GetExtendedTcpTable APIに変更するとともにエントリー数の計算も5から6に修正が必要
[DllImport(IPHLPAPI)]
internal extern static int GetExtendedTcpTable(IntPtr pTcpTable, ref int dwOutBufLen, bool order,int ulAf, int TableClass, int Reserved);
public bool WaitForListening
while (122 == (result = Native.GetExtendedTcpTable(buffer, ref bufferSize, false, 2, 3, 0))) {
int tcpTableLength = 1 + dwNumEntries * 6;
//loop over each entry to find the port (1 entry is 6 integers)
for (int i = 1; i < tcpTableLength; i += 6) {
int dwState = tcpTable[i];
int dwLocalAddr = tcpTable[i + 1];
int dwLocalPort = tcpTable[i + 2];
if (dwLocalPort == portBE) {
if (dwLocalAddr == 0 || dwLocalAddr == 0x0100007f) {
if (dwState == 2)
return true;
break;
}
}
}
SeleniumBasicの置かれている現状
Excel VBAでWebスクレイピングする「SeleniumBasic」は .NET Framework 3.5が必要なのですが、Windows 11 Build 27965以降、「.NET Framework 3.5」がWindowsの「Feature on Demand」(FOD)オプションコンポーネントとして提供されなくなります。
今後は、「.NET Framework 3.5」は別途スタンドアロンインストーラーが必要になります。
Selenium Basic をフォークして、.NET Framework 4 に対応(2020年3月3日)したものがあります。これすら6年前で更新が停止しています。
ただ、KB5127936 による根本原因が何か分かっていないため、.NET Framework 4対応版で動く可能性は残っています。
【追記 2026/11/04】
GetTcpTable APIが原因なら、.NET Framework 4対応版で動く可能性はないですね。
SeleniumVBA への移行
SeleniumVBA は SeleniumBasic の後継バージョンではなく、別の開発者による別プロジェクトになります。
Pythonなどによる他のプログラム言語に切り替える手もありますが、Excel VBA から WebDriver を操作するという目的は同じなので、既存のVBAコードを活用しながら移行できます。
次に紹介する移行記事には、具体的なコードの変更例があるので、こちらを参照する構成がよいでしょう。
今のChatGPTなどの生成AIならば、この記事を参考にコードを変更してと依頼すれば、修正されたコードを出力してくれます。
最後に
SeleniumBasicは、長年にわたってExcel VBAからWebブラウザを操作するための便利なツールでした。
しかし、開発の停止、.NET Framework 3.5への依存、ChromeDriverのバージョン管理など、今後も安心して使い続けるには不安が残ります。
今回のWindows Updateによる障害は、SeleniumBasicから移行する一つのきっかけになるのではないでしょうか。
これからもExcel VBAでWebスクレイピングを続けたい方には、SeleniumVBAへの移行をお勧めします。