Usage / CLI

CLI の使い方

GUI を起動せず、コマンド1行で比較を完結。バッチ処理や外部 diff ビューア連携に向いています。

セットアップ

CLI(Windows: hogandiff.exe / macOS: hogandiff)は配布 zip に同梱されており、 GUI と同じフォルダにあります(導入がまだの方は導入手順へ)。 フルパスで呼び出せばそのまま使えますが、PATH を通しておくと hogandiff の一言で呼び出せます。

PATH を通す(Windows)

  1. スタートメニューで「環境変数」と検索し、「環境変数を編集」を開きます
  2. 一覧から「Path」を選んで「編集」→「新規」を押し、方眼Diff を置いたフォルダ (例:C:\tools\hogandiff-win-x64)を追加して、OK で閉じます
  3. ターミナルを開き直し、hogandiff --version でバージョンが表示されれば完了です

PATH を通す(macOS)

ターミナルで次を実行します(/Applications/hogandiff-osx-arm64 に置いた場合の例):

echo 'export PATH="$PATH:/Applications/hogandiff-osx-arm64"' >> ~/.zshrc

ターミナルを開き直し、hogandiff --version でバージョンが表示されれば完了です。

以降のコマンド例は、PATH を通した前提で hogandiff と表記します。

クイックスタート

hogandiff 予算_2025.xlsx 予算_2026.xlsx

これだけで、差分を着色したブックとレポートが作業用フォルダに出力されます。 比較しながらその場で結果を見たいときは、開くところまで任せられます:

hogandiff --open-colored-books --open-result-report A.xlsx B.xlsx

引数と比較モード

  • <A> <B> がともにファイル(.xlsx/.xlsm/.xls)→ ブック比較
  • ともにフォルダ → フォルダ比較(直下のみ。-r でサブフォルダも再帰)

終了コード

差分の有無をスクリプトから判定できます。

コード意味
0差分なし
1差分あり
2使い方・入力エラー

オプションリファレンス

オプション意味
-o, --output <DIR>出力先フォルダ(既定:GUI と共通の作業用フォルダに自動作成)
-r, --recursiveフォルダ比較でサブフォルダも再帰的に比較(既定:直下のみ)
--no-fuzzy名前のあいまい一致(リネーム検出)を無効化(既定:有効)
--no-row-gaps行の挿入/削除の考慮を無効化(既定:有効)
--no-col-gaps列の挿入/削除の考慮を無効化(既定:有効)
--no-moves行/列の移動検出を無効化(既定:有効)
--formula数式で比較する(数式セルは数式・他は値。既定:値で比較)
--accuracy <LEVEL>精度モード speed|precise(既定:precise)。speed は精度をやや譲る代わりに約2倍速い
--save-memory省メモリモード(大きなファイル向け・約2倍遅い。既定:無効)
--verbose差分内容を全文出力する(既定:サマリのみ)
-q, --quiet標準出力を出さない(判定は終了コードで。既定:通常出力)
--lang <LANG>表示言語 ja|en|zh(既定:設定/OS)
--open-colored-books比較後、着色ブックを既定アプリで開く
--open-result-report比較後、結果レポートを既定アプリで開く
-h, --helpヘルプを表示
--versionバージョンを表示

パスワード保護されたブックは、CLI では比較できませんGUI をご利用ください)。 フォルダ比較では、保護ブックは自動的にスキップします。

レシピ:TortoiseGit の diff ビューアにする

Git で管理している Excel の変更内容を、コミット履歴からそのまま確認できるようになります。 TortoiseGit の「設定 → 差分ビューア → 詳細設定」で拡張子 .xlsx(必要なら.xlsm.xls も)を追加し、次のコマンドを設定します:

C:\tools\hogandiff-win-x64\hogandiff.exe --open-colored-books %base %mine

以後、リポジトリ内の Excel ファイルの「差分を表示」で、着色済みブックが自動で開きます。

レシピ:バッチで定期点検する

終了コードを使って「差分があったときだけ通知する」ような自動化が組めます:

hogandiff 基準\月次report.xlsx 提出\月次report.xlsx -o C:\check\result
if %ERRORLEVEL%==1 echo 差分があります。C:\check\result を確認してください。