まずは、こちらの動画をご覧ください。
まだ試験的に実装した段階なのでUIなどは見づらいかもしれませんが、動画内で起きていることは以下の通りです。
- VBEの上側に質問文を用意(例:「IEは何故、サポート終了になったのでしょうか?」)
- マクロを実行ししばらく待つと、VBEのイミディエイトウィンドウにその答えが返ってくる
IE(インテリジェントエンジン)は、Microsoft Corporationによって開発され、Windowsのブラウザとして提供されました。しかし、Microsoftは2021年にIEをサポート終了と発表し、2022年初めまでにサポートを終了しました。IEのサポート終了の主な理由は次のとおりです。
答えの精度は一旦置いておいて😅
ここで何が起きているのか。一番お伝えしたい(ヤバい)ポイントはこれです。
「外部のAPIを一切使わず、Windowsプリインストールの環境(ExcelとEdge)だけで、完全オフラインのローカルAI連携が成立している」 という事実です。
従来の「Excel × AI連携」が抱えていた2つの大きな壁
これまで、VBAから生成AIを使おうとすると、どうしても以下のどちらかの「苦しい妥協」が必要でした。
① クラウドAPI連携(OpenAI APIなど)
- デメリット: クレジットカードを登録してAPIキーを取得し、通信量に応じてチャリンチャリンと従量課金が発生する💰
- 最大の壁: そもそも社外のサーバーにデータを送信するため、機密情報を含むExcelデータではセキュリティ的(情シス的)にNGが出やすい❌
Copilotだとどうだろうか?
最近は社内でのCopilot推進が進んでいますが、VBAとの連携には、Copilot StudioによるAPI連携が必要のようです
② ローカルAI環境の構築(Pythonなど)
- デメリット: 数十万円のゲーミングPC(GPU)を買い、Pythonの環境構築をして、やっとの思いでローカルAIを動かす
- 最大の壁: 実行環境のハードルが高すぎて「他の人にツールを配る」ことができない。勝手に環境を構築すれば「情シスアラート(シャドーIT)」の対象になる
つまり、「オンライン依存×課金」 か 「プリインストール環境から外れる(環境構築の地獄)」 の二択しかありませんでした。
CDP × Prompt API という第3のルート
そこで今回、目をつけたのは、Chromium系ブラウザ(EdgeやChrome)の内部でテスト実装が進んでいる Prompt API です。
ブラウザの裏側に直接パイプを繋ぐ技術である CDP(Chrome DevTools Protocol) をVBAから直叩きし、ブラウザ内蔵のAIモデルにJavaScript経由でプロンプトを投げて結果を受け取っています。
この機能はまだ試験的機能です
リンクに行くとわかる通り、試験的といった文言が目立ちます。
返答内容も見ればわかる通り、まだ怪しさ満点です😅
しかし!
もしこのAPIが安定したら...!
- 完全無料(API課金ゼロ)
- 完全オフライン(データ漏洩リスクゼロ)
- 環境構築不要(Windows標準のEdgeとExcelのみ)
という、企業で使う社内ツールとして「最強の条件」が揃ってしまいました。ヘッドレスモードheadless=newでブラウザを隠蔽すれば、もはや 「Excel単独でAIが動いている」 ようにしか見えません。
初回使用時のみ、オンライン接続によるAIモデルデータのDLが必要ですがこれも、ブラウザ側が自動で行ってくれます。
その後は、オフラインでAI連携可能です
強いて言えば、電気代が増えるぐらいでしょうか😂
おわりに:レガシー言語で最新技術をハックするロマン
「VBAは古い、終わった言語だ」と言われることも多い昨今ですが、CDPという強力なパイプを通すことで、最新のWeb標準やブラウザ内蔵AI(Generative AI)の恩恵を、最も身近な「Excel」というUIの上で直接享受できるようになります。
この「VBAからローカルAIを叩く」というアプローチはまだ発見したばかりで、私自身も興奮冷めやらぬ状態です。
これからは「プロンプトのストリーミング処理」や、用途に合わせた「拡張機能(プラグイン)化」など、エコシステムを充実させてみようかなと思います。
開発の進捗や、実際に動くソースコードのコア部分は下記のGitHubリポジトリにて公開・更新していきます。
「Excelマクロの限界」を突破するこのプロジェクトに興味を持っていただけた方は、ぜひ覗いてみてください!(Starやフィードバックをいただけると、開発の励みになります!)
今回紹介したこのニッチなローカルAI連携以外にも、このリンク先のツールは、Webスクレイピングツールとしてもご利用いただけます。
WebDriverなどといった外部exeは不要でDL後、すぐにお使いいただけます🦊
