カスタム検索
Office関連

ユーザー設定の「元に戻す」機能を使用する(Word 2010 VBA)

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オブジェクトを利用すると、一連の操作を一つの"元に戻す"単位として記録することができます(使用例はコチラ)。