【Word VBA】書式変更の変更履歴だけを承諾する

2015年11月22日

先日、法務関係の方々が集まる勉強会でWordの使い方について15分発表をさせていただきました。

その後の懇親会で、Wordの変更履歴の話をしていたときに、「書式変更の履歴が残ると、必要な部分(挿入したコメント、削除した文字列など)が「吹き出し」で隠れてしまうことがあって不便である」とのことでした。

あ、そのとおりですね。ブログネタをいただきありがとうございました(笑)。

この記事では、書式の変更履歴が残っているときに、書式の変更履歴だけを承認するマクロを紹介します。

ちなみに、「書式の変更履歴を記録しない」ためのオプション設定もあり、これを設定すれば文字書式や段落書式の変更は履歴に残りません。そうすれば、そもそもこのマクロは必要なくなります。これは、別の記事で紹介いたします。

困ったこと

[変更履歴の記録]をオンにして書類を修正すると、以下のように「吹き出し」が列挙されてしまうことがあります。

これは、[変更履歴を吹き出しに表示]となっている場合を示しています。

2015-11-21 23-32-00

この状態の場合、変更箇所で特に重要な「削除箇所」や「挿入箇所」が他の「吹き出し」に埋もれてしまいます。こんな経験はありませんか?

また、挿入したコメントも全文が表示されないので、わざわざクリックして表示させる必要がでてきます。
そもそも、コメントがどこにあるのか探すのに手間がかかります。

このマクロでできること

マクロを実行すると、文字書式や段落書式を変更した部分はすべて「承諾」されて、変更が反映されます。

つまり、履歴として残りません。そのため、以下のように文字の削除や挿入箇所だけが表示されます。

「吹き出し」の数が減ったので表示スペースに余裕ができて、コメントが全文表示されています!

2015-11-21 23-32-32

マクロの説明

変更履歴の種類を、Typeプロパティで調べます。(10行目)

書式の変更履歴のTypeは、wdRevisionProperty ですので、この場合に変更履歴を承諾します。

承諾は、Accept メソッドで実行します。(11行目)

マクロ


Sub 書式の変更履歴を承諾する()

 Dim myRev As Revision

 '変更履歴の記録をオフにする
 ActiveDocument.TrackRevisions = False

 '書式変更の履歴を承諾する
 For Each myRev In ActiveDocument.Revisions
  If myRev.Type = wdRevisionProperty Then
   myRev.Accept
  End If
 Next

End Sub

関連記事

変更履歴の追記箇所に下線を引くマクロ

変更履歴の追記箇所に下線を引くマクロ(その2)

変更履歴の追記箇所に下線を引くマクロ(その3)

-コード
-