みなさん、MS Word 使っていますか?
最近は Markdown なんかで資料を書くことも多いと思いますが、対外的に出す正式な仕様書などはやはり MS Word で、というところも多いかなと思います。仕様書となればもちろんGitやSVNなどでバージョン管理していることでしょう。
このときに困るのは、MS Word の各リビジョン間の差異の確認です。ソースコードなら diff コマンドなんかをつかえば差分なんか即わかるのですが、 残念ながら MS Word には diff はつかえません。かといって目Grep(目視)で変更点を探すのはIT技術者として敗北感にさいなまされます。なによりめんどくさいし見落とす可能性大です。
そこで今回は、意外に知られていない MS Wordの標準機能である「文書の比較」をする機能について説明します。標準機能ですので外部ツールも必要ありませんし、作成者などのメタ情報およびフォントサイズなどもチェックできる優れものです。
MS Word でのファイル比較(差分表示)の方法
今回は MS Word 2013 を例に説明します。他のバージョンでも表示がすこしちがうだけで基本は同じです。
また、元のファイルを「テンプレート.docx」、修正後のファイルを「テンプレート_v2.docx」 としておきます。変更箇所は下図の赤線の場所です。
では差分を表示する方法をみていきます。
まず、元のファイル「テンプレート.docx」を開きます。そして下図のように「ファイル」→「校閲」→「比較」→「比較」という順番でクリックします。
すると、下記のように「文書の比較」というウィンドウが表示されます。
左側に元のファイル、右側に修正後のファイルを指定してください。
下記のようなウィンドウが表示されると思います。左は具体的な変更内容です。真ん中は比較結果です。右の上段は元の文章、右の下段は変更後の文章です。
このように一目で変更箇所がわかるように表示されます。便利ですね!
FYI: TortoiseSVN での MS Word 差分表示
ソースコードなどのテキストは WinMerge で差分表示することが多いかなと思います。ですがバイナリファイルは、WinMerge では基本的に差異があるかどうかしか表示しません。
そこで以前は、MS Word の差分を確認するために WinMerge とそのプラグインの xdocdiff を組み合わせる必要がありました。MS Word のファイルをテキストコードに変換してから、それらを WinMerge で比較するという感じです。ですがその方法だとメタ情報やフォント情報などが失われるため、できれば上記で説明した MS Word の比較機能を使いたいところです。
しかし現在はとくに何もしなくても、 TortoseSVN が勝手に MS Word の比較機能を使って差分を表示してくれます。下記のようなスクリプトを使っていい感じに上記の MS Word の比較機能を呼び出してくれます。
ちなみにTortoiseSVN で MS Wordのリビジョン比較をした場合、下記のようになります。ちゃんと比較機能がつかわれていますね!
まとめ
今回は意外に知られていない、MS Word のファイル比較(差分表示)の機能をご紹介しました。目Grepで修正箇所を頑張って探さなくても、この機能を使えばさくっと差異を表示できます。ぜひぜひご活用ください!
ちなみに、MS Word でのドキュメント作成には下記の本が大変参考になります。ぜひご参照くださいませ!
エンジニアのためのWord再入門講座
https://hangstuck.com/recommended-books/#Word
コメント