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関連

    文書が互換モードかどうかを判定するWordマクロ

    古いバージョンのWordで作成された文書を開くと、タイトル バーに「互…

  2. Office関連

    Wordのテンプレートをインストールするスクリプト

    Wordマクロをテンプレートにして使用する場合、通常そのテンプレートフ…

  3. Office関連

    Data Explorerのフォーラム&ブログ

    前回の記事で紹介した「Data Explorer」ですが、すでにフォー…

  4. Office関連

    Adobe Reader XIを利用してPDFファイルのページ数を取得するVBAマクロ

    先日Adobe Readerを利用してPDFファイルのページ数を取得す…

  5. Office関連

    Wordマクロで文字数を取得する方法をまとめてみました。

    「蛍光ペンでマークした部分の文字数をカウントするWordマクロ」で蛍光…

  6. Office アドイン

    [Office用アプリ]アプリ開発コンテスト・受賞者発表

    以前書いた記事でお知らせしていた「Apps for Office アプ…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP