【要約】Excel自動化を AI に丸投げしたかった話 — openpyxl / Power Query / VBA でどこまで任せられたか [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
受託開発者が、既存Excelファイルの改修業務において、変更履歴の管理と作業工数の増大という問題に直面した。
- ・ExcelにはGitのような差分管理機能がなく、変更履歴を追えない。
- ・仕様変更のたびに手動で修正が発生し、人的ミスや工数増を招く。
- ・AIに丸投げしようとしても、ライブラリの仕様によりデータが消失する罠がある。
// Approach
筆者は、AIとPythonを用いてExcelの内部構造を直接操作する、ハイブリッドな自動化手法を採用した。
- ・openpyxlのsaveによるデータ消失を、zip操作によるバックアップ・復元ラッパーで回避。
- ・VBAの注入を、バイナリの直接移植またはwin32comによる動的生成で使い分け。
- ・Mコードの注入を、customXml内のbase64/zip構造を直接パースして実現。
- ・Formula.Firewallエラーを、M言語の関数化による構文的分離で解決。
// Result
この手法により、受託案件におけるExcel改修フローが劇的に効率化された。
- ・半日を要した改修作業を、数十分で完了できる体制を構築。
- ・ピボットやグラフの新規生成以外は、Pythonによるビルドが可能であることを実証。
- ・Gitによるロジック管理と、Excelによる最終仕上げを組み合わせた運用を実現。
Senior Engineer Insight
> 完璧な自動化を目指さず、Excelの内部仕様をハックして「制御可能な範囲」を広げる手法は極めて実戦的だ。特に、ライブラリの欠落をzip操作やwin32comで補完する設計は、レガシー資産の運用において高い投資対効果を生む。ただし、Excelの内部フォーマット変更リスクを考慮した、保守性の高いラッパー設計が不可欠である。