【Word VBA】変更履歴の挿入箇所を蛍光ペンで着色するWordマクロ

2017年4月11日

3月のWordマクロセミナーの受講生から質問をいただきました。変更履歴の挿入箇所を蛍光ペンで着色をしたいとのことです。

これまでに変更履歴に関するマクロをいくつか紹介してきましたが、今までは変更履歴に対して承諾処理(変更を確定すること)をしたり文字書式を設定したりしていました。

今回は、単に変更履歴箇所を探して蛍光ペンで着色するだけのマクロです。

このマクロでできること

変更履歴の「挿入」箇所を黄色の蛍光ペンで着色します。

(マクロ実行前)

(マクロ実行後)

マクロの解説

For Each ... Next ステートメントで、文書中の変更履歴箇所を1つずつ判定します。

そして、変更履歴の種類が挿入(wdRevisionInsert)である場合に、蛍光ペンの黄色で着色します。(23行目~27行目)

マクロ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Sub 変更履歴_挿入箇所を蛍光ペンで着色する()
 
 Dim myDoc As Document
 Dim myRev As Revision
 
 '-------------------------------------------
 '前処理
 '-------------------------------------------
 'myDocに現在文書オブジェクトを設定
 Set myDoc = ActiveDocument
 
 '変更履歴の記録をオフにする
 myDoc.TrackRevisions = False
 
 '文書の蛍光ペンを解除する
 myDoc.Range.HighlightColorIndex = wdNoHighlight
 
 '-------------------------------------------
 '挿入箇所を削除箇所をマーキング
 '-------------------------------------------
 For Each myRev In myDoc.Revisions
 
  Select Case myRev.Type
 
   '挿入の場合
   Case wdRevisionInsert
    myRev.Range.HighlightColorIndex = wdYellow
 
   'それ以外の場合
   Case Else
    '何もしない
 
  End Select
 
 Next
 
 '-------------------------------------------
 '後処理
 '-------------------------------------------
 'オブジェクト変数の解放
 Set myDoc = Nothing
 Set myRev = Nothing
 
End Sub

関連記事

-コード
-, ,

S