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

    「データ追跡機能付きテンプレート ウィザード」のダウンロード先

    ※ 下記に紹介する方法はOfficeのサービスパックからデータ追跡機能…

  2. アイコン一覧

    Office 365アイコン(imageMso)一覧(G)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

  3. Office アドイン

    [Office用アプリ]JavaScript API for Officeのポスター

    JavaScript API for Officeのオブジェクト、メソ…

  4. Office関連

    【2018年7月版】ソースコードを番号行付きのテーブルに変換するWordマクロ

    6年以上前、Wordに貼り付けたソースコードを番号付きのテーブルに変換…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

Translate

最近の記事

アーカイブ

PAGE TOP