Claude CodeにWordのVBAを直接書き換えさせる——エクスポートもインポートも要らない開発ループ

コラム

Claude CodeでVBAのマクロを作ったり直したりするとき、私はこれまで「VAコード」を使っていました。VBAのモジュールをフォルダに書き出し、Claude Codeに編集してもらい、またVAコードでWordに読み込んで、Wordで動かして確かめることを繰り返していました。それでも、クリップボード経由でコードの受け渡しを行うよりは、ずいぶん効率的でした。

ところが、先日、実はフォルダやクリップボードへの書き出しも読み込みも要らないことを知りました。Claude Codeは、起動中のWordのVBAを直接書き換えられるのです。

「Claudeはエクスポートできないのか?」

先日、自作のWordアドイン「VA公用文」を改修したときのことです。Claude Codeは、いつもの手順どおり、VAコードでモジュールを書き出すよう勧めてきました。そこで私は、こう聞いてみました。

「Claudeはエクスポートできないのか?」

答えは「できます」でした。Wordが起動していれば、Claude Codeが外からWordに接続して、VBAのコードを読み書きできるというのです。

そこから先は、コードを直してWordに反映し、テスト用の文書でマクロを動かして結果を確かめるところまで、Claude Codeが一続きで行ってくれました。私がしたのは、報告を読んで「次に進んで」と答えることと、判断を求められたときに答えることだけです。

始めるには

この方法は、Windows版のWordやExcelで使えます。Officeには、外部のプログラムから操作できる仕組みが以前から備わっていて、Claude Codeはそれを使っています。

必要な設定は、[ファイル]→[オプション]→[トラスト センター]→[トラスト センターの設定]→[マクロの設定]にある「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」をオンにすることだけです(VAコードを使う場合にも必要な設定です)。悪意のあるマクロに悪用されるおそれがあるため、初期状態ではオフになっています。

あとは、Wordで直したい文書を開いておき、Claude Codeに「起動中のWordのVBAを直接書き換えて、この不具合を直して」と頼むだけです。

Claude Codeの導入と基本的な使い方は、次の記事で紹介しています。

VAコードはどうなるのか

Windowsで、Claude Codeを使って開発するのであれば、VAコードは必須ではなくなりました。Claude Code以外のエディタやAIでコードを編集する場合や、改修の前にコードを控えとして書き出しておきたい場合には、引き続き役に立ちます。(たぶん、そんなことはないと思いますが...)

コメント

  1. 管理人 より:

    記事を短くし、Claude CodeでVBAを直接編集できることを中心にまとめ直しました。

タイトルとURLをコピーしました