Wordで通常「あ」「い」「う」「え」「お」と一行ずつ入力すると、下図のように"元に戻す"操作として記録されます。
しかし、Word 2010で下記コードの「StartUR」プロシージャを実行後、同じように「あ」「い」「う」「え」「お」と一行ずつ入力し「EndUR」プロシージャを実行すると、"元に戻す"操作としては「StartCustomRecord」メソッドで指定した独自の名前、「My Custom Undo」だけが記録されます。
この"My Custom Undo"をクリックすると、「あ」「い」「う」「え」「お」と入力した一連の操作がまとめて元に戻されます。
Option Explicit
Private ur As Word.UndoRecord
Public Sub StartUR()
If Not ur Is Nothing Then Exit Sub
Set ur = Application.UndoRecord
If ur.IsRecordingCustomRecord = False Then
ur.StartCustomRecord "My Custom Undo"
Debug.Print "Start(" & ur.CustomRecordName & ")"
End If
End Sub
Public Sub EndUR()
If ur Is Nothing Then Exit Sub
If ur.IsRecordingCustomRecord = True Then
ur.EndCustomRecord
Debug.Print "End"
Set ur = Nothing
End If
End Sub
上記のようにWord 2010で新たに追加されたUndoRecordオブジェクトを利用すると、一連の操作を一つの"元に戻す"単位として記録することができます(使用例はコチラ)。