差分レポートを Araxis Merge から”自動”出力

Araxis Merge の機能の 1 つである、差分レポートの出力に関する Tips をご紹介します。差分レポートは、ファイル比較した結果を html ファイルなどで出力したものです。私の場合、業務で編集したファイルと元のファイルとの差分情報をエビデンスとして残すために活用しています。
しかし、毎日同じファイルに対して差分レポートを出力する場合、下記に挙げたような繰り返しの作業が少々面倒に感じることがあります。
Step 1:Araxis Merge を立ち上げ、比較対象ファイルを選択
Step 2:比較結果が表示されたらレポートの生成を押下
Step 3:レポートの保存先を指定
そこで、繰り返しの作業負担が軽減されるように、比較作業から差分レポートの出力までが自動的に実行される簡単なスクリプトを作成しました。Araxis Merge には「 Merge オートメーション API 」と呼ばれる API が用意されており、この API をスクリプトで使用することが可能です。
次の章では、比較作業を簡素化するための API の使用方法をご紹介します。
API の使用方法
比較用のサンプルファイルとして、2 つのテキストファイル(「 1.txt 」と「 2.txt 」)を用意し、これらを比較するためのスクリプト(※)とバッチファイルを作成します。
(※)スクリプトの詳細はこちらをご参照ください。
[実行時の様子]
バッチファイル(自動処理サンプル.bat)を起動すると、スクリプトが実行されます。「 1.txt 」と「 2.txt 」の 2 つのファイルを比較し、その結果が記載された比較レポートを「 report.html 」として出力します。


[ソースコードの内容]
スクリプトファイル名:TextComparison2Way.vbs
if WScript.Arguments.Length <> 3 then
WScript.echo(" ")
WScript.quit(1)
end if
dim text1, text2, reportFile
text1 = WScript.Arguments(0)
text2 = WScript.Arguments(1)
reportFile = WScript.Arguments(2)
' アプリケーション オブジェクトを作成します。
dim application
set application = WScript.CreateObject("Merge70.Application")
application.Active = true
application.Visible = false
' テキスト比較ウィンドウの有効期間をユーザーが制御できるようにします。
dim tc
set tc = application.TextComparison
tc.Compare text1, text2
tc.GiveUserControl()
' 2 つのテキスト ファイルの違いの数を表示します。
'WScript.Echo("Number of changes between the text files: " & tc.NumberOfChanges(0))
' ファイル比較レポートを生成する
tc.Report "html", 0, reportFile
[バッチファイルの内容]
ファイル名:自動処理サンプル.bat
TextComparison2Way.vbs 1.txt 2.txt C:¥Users¥Araxis¥Report
→ スクリプトファイル名 比較対象ファイル1 比較対象ファイル2 任意のレポート出力先
このプログラムでは、Araxis Merge のユーザー インターフェイス(比較画面)を表示しないように設定していますが、バッチファイルの実行時に表示させることも可能です。具体的には Application オブジェクトの Visible プロパティを True に設定します。当設定を含む API の詳細については、下記リファレンスをご参照ください。
・オートメーション API の概要
▼ https://www.araxis.com/merge/documentation-windows/api-reference.ja
今回は、単一ファイルを対象にした自動化についてご説明してきましたが、私はフォルダー単位での差分レポート出力にも利用しています。自動化のサンプルは、製品のインストールフォルダー(デフォルトでは、C:¥Program Files¥Araxis¥Araxis Merge¥AutomationSamples)にありますので、あわせてご参照ください。
最後に
Araxis Merge は、さまざまな作業効率の改善にお役立ていただけるツールです。評価版をご用意しておりますので、ぜひ、お試しください。
・評価版の申し込み
▼ https://www.agtech.co.jp/araxis/merge/trial/

