生成AIによるVBA開発の効率化

コラム

私の場合、Geminiなどの生成AIの登場により、VBAの開発スタイルが大きく転換しました。かつてのようにリファレンスサイトや技術書を片手に、一行ずつ手作業でコードを組み上げる時代は終わりを告げ、AIを「部下」として活用し、指針を示して、コードの作成を計画させ、実行させるようになっています。

生成AIを活用することで、仕様の立案、コードの記述、デバッグ、さらには既存コードのリファクタリングといった作業が、これまで不可能だった高度なレベルで、かつ驚異的なスピードで行えるようになりました。

AI活用における「最後の一手」の課題

AIを利用した開発は非常に効率的ですが、実務において一つだけ物理的なボトルネックが残ります。それは、VBAエディタ(VBE)上のコードをAIに入力したり、AIが出力したコードをVBEに反映させるプロセスです。

VBEには、モジュールのエクスポートやインポートの機能を有していますが、プロジェクト全体について行うことはできません。また、AIはチャット画面上で優れたコードを提示してくれますが、それをプロジェクトに組み込むには以下の手間が伴います。

  • 複数のモジュールがある場合、一つずつ手動でコピペを繰り返す必要がある。
  • 既存のコードと入れ替える際、貼り付けミスや構成の不一致が起きやすい。
  • AIに「現在のプロジェクト全体」を把握させるためのコード提供が面倒である。

この「AIとVBEの往復」という単純作業の積み重ねが、開発の勢いを削ぐ要因となっています。この摩擦を最小限に抑え、AIの能力を最大限に引き出すために開発された補助ツールが、VBAアドイン「VAクリップ」です。

VAクリップによる連携の効率化

VAクリップは、AIとVBEの間を橋渡しするための「データ搬送用ツール」です。AIによるVBAの開発を、以下の3つの側面からサポートします。

1. エクスポート作業の自動化

AIに正確な修正案を出させるには、現在のプログラム全体を理解させる必要があります。VAクリップのエクスポート機能を使えば、プロジェクト内の全モジュールを一つのJSONデータとしてクリップボードにコピーできます。これをAIに渡すだけで、AIはプロジェクトの全容を即座に把握できます。

2. インポート作業の自動化

VAクリップでAIが生成した複数のモジュールコード(JSON形式)をコピーし、VAクリップでインポートを実行するだけで、VBE上の各モジュールが自動的に更新・作成されます。手動のコピペ作業から解放され、AIが生成したロジックをすぐに動作確認できます。

3. 安全な更新プロセス

シートモジュールやThisWorkbookといった、削除して再作成することができない特殊なオブジェクトも、VAクリップが内部で中身のコードだけを安全に書き換えます。これにより、Excelのオブジェクト構造を壊すことなく、AIの成果を反映できます。

AI駆動開発の推奨プロトコル

AIに「VAクリップ」で読み取り可能な形式で出力させるために、以下の規約をプロンプトに含める手法が有効です。これにより、AIとのデータのやり取りが規格化されます。

# VBA出力規約(JSON形式)

VBAコードを出力する際は、以下のJSONフォーマットを使用してください。

[
  {
    "name": "モジュール名",
    "type": "Standard|Class|Form|Document",
    "code": "エスケープ済みのVBAコード"
  }
]

※ダブルクォーテーションや改行などのエスケープ処理を正確に行うこと。

実務上の留意点

AIとツールを組み合わせた開発においても、人間が判断すべき領域は残ります。

  • VBEでの精査: AIのコードは、インポート後にVBE(VBAエディタ)上で必ず確認することになります。エディタのコンパイルチェックやデバッグ機能を使い、AIの出力に含まれる誤りを把握することが必要です。
  • デザインの制約: ユーザーフォームのボタン配置などのデザイン情報は、現在のAI技術では自動インポートが困難です。フォームのデザイン自体は手作業で行い、VAクリップはその背後のロジックを更新することになります。

コメント

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