先日テキスト比較ソフトの「ちゃうちゃう!」がバージョンアップされたことを紹介しました。
・テキスト比較ソフト「ちゃうちゃう!」がバージョンアップされました。
//www.ka-net.org/blog/?p=4724
ちゃうちゃう!の利用場面についてはWord MVPの新田さんも記事を書かれています。
・【ツール紹介】ちゃうちゃう2.0 文字列比較の定番ソフト
http://ameblo.jp/gidgeerock/entry-11908773608.html
コードの比較や類似文の比較、様々な場面でテキスト比較の出番はあるわけですが、実はWordにもちゃんとテキスト比較機能が備わっています。
校閲タブの中にある「比較」がそれで、この機能を使うと2つの文書を比較して、どの部分が異なっているのかを分かりやすく表示してくれます。
この機能を使えば、ちゃうちゃう!要らずでテキスト比較ができるわけですが、ちゃうちゃう!に比べると使い勝手はあまりよくありません。
ちゃうちゃう!が、
起動
↓
テキスト貼り付け
↓
比較実行
という3つの手順で比較できるのに対し、Wordの場合は、
起動
↓
新規文書を2つ作成
↓
テキスト貼り付け
↓
比較実行
↓
比較する文書を選択
という手順が必要になります。
それならば、Wordの使い勝手をもっとよくしてみよう!ということで考えたのが下記のスクリプトです。
Option Explicit Dim doc1, doc2 With CreateObject("Word.Application") .Visible = True Set doc1 = .Documents.Add Set doc2 = .Documents.Add With .Windows .CompareSideBySideWith doc1 .SyncScrollingSideBySide = True '同時にスクロール End With End With
上記コードをメモ帳等のテキストエディタに貼り付け、拡張子を「vbs」にして実行すると、下図のように新規文書が2つ並んだ状態でWordが起動します(上の図がWord、下の図がちゃうちゃう!)。
あとはテキストを貼り付けて比較を実行すれば良いだけですが、さらに下記のようなマクロをクイック アクセス ツール バーに登録しておくと、ボタン一つで文書の比較ダイアログを表示することができます。
Public Sub ShowCompareDocumentsDlg() '文書の比較ダイアログ表示 Dim tmp As Long With Application tmp = .RecentFiles.Maximum .RecentFiles.Maximum = 0 '文書を選択しやすくするため一時的に履歴クリア .Dialogs(wdDialogToolsCompareDocuments).Show .RecentFiles.Maximum = tmp End With End Sub
ポイントはRecentFilesオブジェクトのMaximumプロパティを設定しているところで、一時的に最近使用したファイルをクリアすることで、下図のようにテキスト比較する対象文書を選択しやすくしています。
Wordを起動するスクリプトとテキスト比較を実行するWordマクロ、どちらもやっていることは単純で、非常に短いコードですが、組み合わせることでWordでのテキスト比較がやりやすくなります。
興味がある方は是非お試しください。
■ 関連Webページ
・「ちゃうちゃう!」で2つの文書を比較するWordマクロ
//www.ka-net.org/blog/?p=1334
・テキスト比較ソフト「ちゃうちゃう!」がバージョンアップされました。
//www.ka-net.org/blog/?p=4724
・ちゃうちゃう! 2.0を操作するWordマクロ
//www.ka-net.org/blog/?p=4931
この記事へのコメントはありません。