コンテンツにスキップ
Zenn Dev Minipoisson Articles Xlsm Devkit Sheet Code to Ai

シートとコードをAIに渡す:「実態はアプリ」のExcel開発ツール xlsm_devkit

  • URL: https://zenn.dev/minipoisson/articles/xlsm-devkit-sheet-code-to-ai
  • 日付: 2026-06-26
  • Tier: Tier 3
  • 要旨: ExcelマクロファイルをAIと共同開発するためのVBAツール xlsm_devkit を紹介する。このツールの核はシート全体の構造(セル値・数式・図形・スタイル)をMarkdownとして書き出す ExportAllSheetMapsToMD 機能で、VBAコードと合わせてAIに渡すことで「このシートの構造を踏まえてコードを書いて」という依頼が成立する。既存のVBAコード管理ツールはコードしか扱えないが、xlsm_devkit はシートとコードの両方をAIに渡せる点が本質的な差異となっている。.bas ファイル1本でインポートでき、外部ツール不要で動作する。

詳細

xlsm_devkitが提供する3つのマクロ

  • ExportAllModules: 全VBAモジュールを src/*.bas(UTF-8)として書き出す
  • ImportAllModules: src/*.bas をVBAプロジェクトに読み込む(xlsm_devkit自身はスキップ)
  • ExportAllSheetMapsToMD: 全シートの構造を sheet/*.md として書き出す

ExportAllSheetMapsToMD が出力する情報

  • セルのアドレス・名前定義・値・数式・スタイル(背景色・文字色・文字サイズ・入力規則)
  • 図形の位置・名前・テキスト・数式参照・OnAction(クリック時に呼ぶ処理名)・スタイル
  • 出力しない情報:罫線・列幅・行高・結合状態・フォント名(AI理解に不要と判断)

色はCSSに近い #rrggbb 形式で出力(VBAのBGR Long値を変換)。AIが色の意味を文脈から推測しやすくなる。

実際の効果として、pptx_yaml_excel 開発時にシートマップを出力したところ、Geminiが生成した「Very Hidden シートとキャッシュVBAコード」という複雑な設計を「Visible シート + MATCH/INDEX数式」へ抜本的に再設計できた。シート構造が可視化されることで、冗長なコードが不要になる方向への設計改善が自然に起きる。

技術的なポイントとして ImportAllModules の自己スキップ機能があり、実行中のモジュールが自身を上書きできない制約を回避している。