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 の自己スキップ機能があり、実行中のモジュールが自身を上書きできない制約を回避している。