Skip to content

Ver 2.0.0 リリースのお知らせ - 内部ロジック大幅刷新

Choose a tag to compare

@Eschamali Eschamali released this 06 Jun 08:46

最初の開発から約半年。個人でコツコツと積み上げてきたこのプロジェクトが、ついに「Ver 2.0.0」という大きな節目を迎えることができました。

今回のアップデートに派手な新機能はありません。しかし、「心臓部(エンジン)」を完全に作り替えました。
これまでは「動くこと」を目標にしていましたが、Ver 2.0.0では 「複数の世界(タブ)を、いかに正確に、そして同時に支配するか」 という課題に対する、私なりの最終回答を実装しています。

🚀 アップデートの核心:RaiseEvent 方式への完全移行

これまでのVer 1.x系では、単体タブの処理には十分でしたが、 「複数タブでの非同期イベントを捌ききれない」 という物理的な壁に突き当たりました。

この壁を壊すために採用したのが、全てのレスポンスを RaiseEvent で一斉放送するというアーキテクチャです。
ブラウザからの生パケットを「イベントの連鎖」として各クラスへ伝播させることで、シングルスレッドの限界を超えた高度な交通整理を実現しました。

🏗️ クラス設計の再定義(責務の分離)

RaiseEvent のポテンシャルを最大限に引き出すため、各クラスの役割を「パズルのピース」のように明確に分けました。

<CDP制御系:旧帝国層の整理>

  • CDPCore.cls 【強化】
    Pipeの物理的な読み書きに加え、CDPレスポンスの解析を統合。システム全体の「心臓」としてイベントを発火させます。
  • CDPBrowser.cls 【整理】
    ブラウザ全体の管理(タブ生成など)に専念。個別の命令は新設クラスへ。
  • CDPContext.cls 【新設】
    従来の「タブ単位の命令」をすべて集約。「タブ」という物理概念を「コンテキスト(実行空間)」へと昇華させました。

<WebDriverBiDi系:次世代翻訳層>

  • WebDriverBiDiCore.cls 【洗練】
    JSマッパーの注入やBiDi/CDP変換など、裏方の「通訳業務」に特化。
  • WebDriverBiDiMode.cls 【新設】
    ユーザーが直接触れる「標準語」の司令塔。Coreから届く翻訳済みのイベントを統括します。

この刷新により、「CDPルート」と「BiDiルート」のロジック構造がほぼ対称になりました。これにより、メンテナンス性が向上し、何より「BiDiで場所を特定し、CDPで特権命令を下す」といったキメラ制御がより容易になりました。


⚠️ 旧バージョン(Ver 1.x.x)のサポート終了について

内部構造が根本から異なるため、本リリースをもって旧バージョンのサポートを終了いたします。
同梱のDemoコードもすべてVer 2.0.0仕様に書き換えておりますので、移行のガイドとしてご活用ください。

【移行のクイックヒント】

  1. 型の変更: As CDPBrowser で宣言していた箇所の多くは、操作対象に応じて As CDPContext へ。
  2. メソッドの集約: タブ生成や TakeEvents などの全体操作は CDPBrowser で。
  3. 呼称の変更: invokeMethod 系は、より直感的な ExecuteCDP / ExecuteBiDi へ。

【開発者より:あとがき】

見てみたい方はこちら 「かつて、IEをVBAで動かしていたあの頃のような手軽さを、現代のChromiumでも実現したい」

このプロジェクトは、ただそれだけの素朴な想いから始まりました。

外部のライブラリや重い実行環境を入れる必要もなく、ただ一つのExcelブックがあれば、そこがすべてのコントロールセンターになる。あのシンプルで愛おしい開発体験を、どうしても現代に蘇らせたかったのです。

そのために、ブラウザの「開かずの間」をこじ開け、自前でOSのパイプラインを引き、試行錯誤しながらイベント駆動の仕組みを構築してきました。
そして開発を進めるうちに、気がつけば、世界中で使われているPlaywrightやPuppeteerといったモダンなWeb自動化の「コアエンジン」がやっているのと同じ設計思想に、自力で一歩ずつ近づいていました。

その過程は決して平坦ではありませんでしたが、ブラウザの裏側の仕組みが少しずつ解き明かされ、自分の手の中でパズルのように噛み合っていく瞬間は、言葉にできないほどの喜びでした。

現代のWeb自動化は、時に複雑で、大掛かりな環境構築を求められます。
しかし、この「CDP & BiDi for Excel」があれば、Excelを開き、コードを書き、F5キーを押すだけで、あの頃と同じように、しかし現代の力強さでブラウザが動き出します。

かつての「手軽さ」への憧れが、回り回って「最先端の仕組み」を自ら生み出す力になりました。
このツールが、同じように「外部依存禁止環境」と「確実な制御」を必要としている誰かの力になることを願っています。

2026.06.06
開発者より 🦊