Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

WinMergeでExcelマクロの差分を表示する方法

Cururuから移行。

WinMergeを使うと、Excelマクロ(VBA)の差分を表示することができます。

※以下Excel2003で確認しています。他のバージョンでは確認していません。

WinMergeはオープンソースのDiffツールで、テキストファイルの差分を表示できます。

@IT:.NET TIPS .NET時代のソース・コード差分ツールとは? - VS.NET
もちろんVS.NET環境でもこのWinDiffは便利に使うことができるのだが、より使いやすく高機能な差分ツールがあるので、本稿では、そちらのツールを紹介する。  そのツールとは、「WinMerge」というオープンソース・ソフトウェアである。 ...

インストーラに同梱されているプラグインを使用すると、Excelファイルの差分も表示できます。(セル内のテキストとマクロのソースが対象です。図形などのオブジェクトは比較できません)

インストール

日本語版のサイトからインストーラをDownloadし、実行します。
WinMerge 日本語版
ファイルやフォルダの比較ができてマージもできる、WinDiffを使い易くしたようなソフトWinMergeの日本語版 GUIな CVS, Subversionクライアントのお供にでもどうぞ。 ...

「コンポーネントの選択」では「プラグイン」をチェックしてください。

WinMergeの設定

WinMergeを起動し、メニュー[プラグイン(P)]→[自動展開]を選択します。

Excelの設定

Excelを起動し、以下の設定をします。

  1. [ツール(T)]→[マクロ(M)]→[セキュリティ(S)]→[信頼できる発行元]タブのチェックボックス[Visual Basic プロジェクトへのアクセスを信頼する(V)]をチェック
  2. マクロがパスワードで保護されている場合ソースの差分が表示されません。事前に比較したいファイルのパスワードを外しておきます。


以上でExcelマクロの差分が表示できるようになります。