ご助言をどうもありがとうございました。こうすれば、かなり応用がききますね。
▼このマクロでできること
変更履歴が記録された箇所に対して、文字列の入力、文字列の削除、それ以外の変更にわけて変更履歴の承諾をしながらマーキングをします。
文字列を入力した場合には、入力された文字に下線を引きます。
文字列を削除した場合には、削除された文字列の次の1文字に下線を引きます。
それ以外の変更(たとえば、書式変更)には、何もマーキングをしません。
(1)例として、以下の文章を用います
![みんなのワードマクロ](https://stat.ameba.jp/user_images/20120620/12/gidgeerock/50/63/p/t02200031_0405005712037744902.png?caw=800)
(2)変更履歴を記録しました
![みんなのワードマクロ](https://stat.ameba.jp/user_images/20120620/12/gidgeerock/4b/2d/p/t02200036_0402006512037744900.png?caw=800)
「あれは、自動車です。」として、「です」の部分のフォントの色を変更しました。
(3)マクロで処理をしました
![みんなのワードマクロ](https://stat.ameba.jp/user_images/20120620/12/gidgeerock/98/83/p/t02200043_0310006012037744901.png?caw=800)
書式変更した部分(フォントの色を変更した部分)には、下線でマーキングがされていません。
▼マクロの解説
hishiさんに教えていただいたとおり、Typeプロパティをしらべて、それぞれ別の処理をしています。
用途に応じて、処理を変えたらいいですね。
Typeプロパティの種類は、他にもたくさんありますので、必要な方はヘルプでご確認ください。
▼マクロ
Sub 変更履歴_追記箇所に下線をひくマクロ_2()
Dim myRev As Revision
For Each myRev In ActiveDocument.Revisions
Select Case myRev.Type
'挿入の場合
Case wdRevisionInsert
With myRev.Range
.Font.Underline = wdUnderlineSingle
.Revisions.AcceptAll
End With
'削除の場合
Case wdRevisionDelete
With myRev.Range
.MoveEnd unit:=wdCharacter, Count:=1
.Font.Underline = wdUnderlineSingle
.Revisions.AcceptAll
End With
'それ以外の場合
Case Else
With myRev.Range
.Revisions.AcceptAll
End With
End Select
Next
Set myRev = Nothing
End Sub
▼関連記事
変更履歴の追記箇所に下線を引くマクロ
変更履歴の追記箇所に下線を引くマクロ(その2) (6/20/2012:改良版です!)
変更履歴の追記箇所に下線を引くマクロ(その3) (3/18/2013:英文明細書の補正用)
初めての方へ(ブログの目次)
マクロコードの登録方法
ツールバーのボタン登録