Office関連

2つの文書を比較するWordマクロ

先日テキスト比較ソフトの「ちゃうちゃう!」がバージョンアップされたことを紹介しました。

・テキスト比較ソフト「ちゃうちゃう!」がバージョンアップされました。
//www.ka-net.org/blog/?p=4724

ちゃうちゃう!の利用場面についてはWord MVPの新田さんも記事を書かれています。

・【ツール紹介】ちゃうちゃう2.0 文字列比較の定番ソフト
http://ameblo.jp/gidgeerock/entry-11908773608.html

コードの比較や類似文の比較、様々な場面でテキスト比較の出番はあるわけですが、実はWordにもちゃんとテキスト比較機能が備わっています。

WordCompareDocs_01

校閲タブの中にある「比較」がそれで、この機能を使うと2つの文書を比較して、どの部分が異なっているのかを分かりやすく表示してくれます。

WordCompareDocs_02

WordCompareDocs_03

この機能を使えば、ちゃうちゃう!要らずでテキスト比較ができるわけですが、ちゃうちゃう!に比べると使い勝手はあまりよくありません。

ちゃうちゃう!が、

起動

テキスト貼り付け

比較実行

という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、下の図がちゃうちゃう!)。

WordCompareDocs_04

WordCompareDocs_05

あとはテキストを貼り付けて比較を実行すれば良いだけですが、さらに下記のようなマクロをクイック アクセス ツール バーに登録しておくと、ボタン一つで文書の比較ダイアログを表示することができます。

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プロパティを設定しているところで、一時的に最近使用したファイルをクリアすることで、下図のようにテキスト比較する対象文書を選択しやすくしています。

WordCompareDocs_06

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

CDOを使ってGmail送信を行うVBAマクロ前のページ

ガイドを追加するPowerPointマクロ次のページ

関連記事

  1. アイコン一覧

    Office 2013 アイコン一覧(T)

    ・Office 2013 アイコン一覧 NUM…

  2. Office アドイン

    Ignite 2016で発表されたOffice アドイン関連の情報

    米国時間の9月26~30日にMicrosoftのビッグイベント「Ign…

  3. Office関連

    Office 2013 Consumer Preview(カスタマー プレビュー)をインストールして…

    2012/10/26 追記:RTM版公開に伴い記事を追加しました。…

  4. Office関連

    SkyDriveの同期フォルダーのパスを取得するWordマクロ

    無料で使える便利なクラウドストレージ「SkyDrive」にはローカルフ…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP