Excelはオフィスで最もよく使われるソフトウェアの一つでしょう。そして単に表計算としてだけでなくVBAも使ってシステムツールとして使われたりします。そんなExcelだけにバージョン管理したいというニーズがよくあり、そのためのソフトウェアも存在します。 そんな中、xltrailは一風変わっています。シートではなく、VBAの差分表示ができるソフトウェアです。

xltrailの使い方

xltrailをインストールする前の差分表示。git diffでは何も出ません。

git diff book.xlsx
diff --git a/book.xlsx b/book.xlsx
index 70d50ca..9bcf07e 100644
Binary files a/book.xlsx and b/book.xlsx differ

xltrailのインストール後。VBA部分の差分が出ます。

$ git diff book.xlsm
diff --xltrail a/book.xlsm b/book.xlsm
--- /dev/null
+++ b/book.xlsm/VBA/ThisWorkbook
+
+Public Function Hello()
+    Debug.Print "Hello"
+End Function
+

--- /dev/null
+++ b/book.xlsm/VBA/Sheet1
+

xltrailを使うと表部分に何かあっても差分は表示されません。表部分の差分表示ソフトウェアはいくつもありますが、逆にVBA部分に対応したソフトウェアはなかったように思います。これはかなり貴重でしょう。

xltrailはPython製のオープンソース・ソフトウェア(MIT License)です。

xltrail - Open source Git extension ZoomerAnalytics/git-xltrail: Git extension for versioning Excel workbook files