カスタム検索
Office関連

2つの文書を比較する(Word VBA)

Word 2007で追加されたApplicationオブジェクトのCompareDocumentsメソッドを使用することで、2つの文書を比較し違いを検出することができます。

 

Option Explicit

Public Sub Sample()
  Dim doc1 As Word.Document
  Dim doc2 As Word.Document
  
  Set doc1 = Application.Documents.Open("D:\TestFiles\Doc1.docx")
  Set doc2 = Application.Documents.Open("D:\TestFiles\Doc2.docx")
  Application.CompareDocuments doc1, doc2, wdCompareDestinationNew, wdGranularityWordLevel
End Sub

 

 

CompareDocumentsメソッドの引数の説明は下記の通りです(Wordヘルプより)。

名前 必須/オプション データ型 説明
OriginalDocument 必須 Document 元の文書のパスとファイル名を指定します。
RevisedDocument 必須 Document 元の文書と比較される、変更された文書のパスとファイル名を指定します。
Destination オプション WdCompareDestination 新規ファイルを作成するか、2 つの文書の違いを元の文書または変更された文書に明示するかを指定します。既定値は wdCompareDestinationNewです。
Granularity オプション WdGranularity 変更を文字単位で追跡するか、単語単位で追跡するかを指定します。既定値は wdGranularityWordLevelです。
CompareFormatting オプション ブール型 (Boolean) 2 つの文書の書式の違いにマークを付けるかどうかを指定します。既定値は True です。
CompareCaseChanges オプション ブール型 (Boolean) 2 つの文書の大文字と小文字の違いにマークを付けるかどうかを指定します。既定値は True です。
CompareWhitespace オプション ブール型 (Boolean) 2 つの文書の段落、スペースなどの空白の違いにマークを付けるかどうかを指定します。既定値は True です。
CompareTables オプション ブール型 (Boolean) 2 つの文書の表に含まれるデータの違いを比較するかどうかを指定します。既定値は True です。
CompareHeaders オプション ブール型 (Boolean) 2 つの文書のヘッダーとフッターの違いを比較するかどうかを指定します。既定値は True です。
CompareFootnotes オプション ブール型 (Boolean) 2 つの文書の脚注と文末脚注の違いを比較するかどうかを指定します。既定値は True です。
CompareTextboxes オプション ブール型 (Boolean) 2 つの文書のテキスト ボックス内のデータの違いを比較するかどうかを指定します。既定値は True です。
CompareFields オプション ブール型 (Boolean) 2 つの文書のフィールドの違いを比較するかどうかを指定します。既定値は True です
CompareComments オプション ブール型 (Boolean) 2 つの文書のコメントの違いを比較するかどうかを指定します。既定値は True です。
RevisedAuthor オプション 文字列型 (String) 2 つの文書を比較するときに変更を行ったと考えられるユーザーの名前を指定します。
IgnoreAllComparisonWarnings オプション ブール型 (Boolean) 2 つの文書を比較するときに警告を無視するかどうかを指定します。

 

Sponsored Links