マクロを使用して2つのWordドキュメント間で変更された文章をハイライトする

パソコン

Word文書の変更履歴

Wordでは校閲で変更履歴を残すこともできますが,論文のrevise等では変更前からどこが変わったかをハイライトした文書,つまり変更前と変更後で2つの文書の差分を強調表示した文書を求められる機会があります.

これをわざわざ2つを見比べて手作業で行うのはナンセンスなので効率的にWordの差分とマクロを使用して簡単に行うことができます.

差分ハイライトの作成

まずは2つの文書の差分を変更履歴として追加した文書を作成します.

  1. Wordを開いて”校閲”タブから”比較”→”比較”と選択します.
  2. 続いて変更前と変更後のwordファイルを選択します(このとき”比較の設定”で表などはチェックを外しておくと煩雑にならないのでおすすめです).
  3. OKで実行すると変更履歴が作成されます.
  4. 続いて”開発”タブ→”Visual Basic”と選択します(開発タブがないときは下記設定を行う).
    • [ファイル] タブ、[オプション]、[リボンのユーザー設定] の順に移動.
    • [リボンのユーザー設定] および [メイン タブ] の下の [開発] チェック ボックスをオンにする.
  5. プロジェクトにある”ThisDocument”という部分をダブルクリックするとコードを入力するフィールドが出現するので後述するVBコードを入力して実行する(再生ボタン).
  6. 差分がハイライトされるためファイルから新しく保存する(変更履歴が不要であれば校閲タブから変更履歴の削除を行う).
  7. 以上.

VBAのプログラム

Sub HighlightInsertedRevision()

   Dim myRevision As Revision
   Dim currentDoc As Word.Document

   Set currentDoc = Application.ActiveDocument

   'Set the selection range
   currentDoc.ActiveWindow.Selection.HomeKey Unit:=wdStory

   'Optimise for loop
   Application.ScreenUpdating = False

   'Loop all revisions in current document
   For Each myRevision In currentDoc.Revisions
       With myRevision
           'Check if revision type is inserted revision
           If .Type = wdRevisionInsert Then
               .Range.HighlightColorIndex = wdYellow
           End If
       End With
   Next

   Application.ScreenUpdating = True

End Sub

参照

Just a moment...

コメント

タイトルとURLをコピーしました