Classe UndoRecord (Word VBA)

Fornece um ponto de entrada na pilha de desfazer. Para usar uma variável de classe UndoRecord, ela primeiro precisa ser instanciada por exemplo


Dim urd as UndoRecord
Set urd = Application.UndoRecord

CustomRecordLevel

Retorna um Long que especifica o número de chamadas de ação de desfazer personalizadas que estão atualmente ativas. Somente leitura.

Se nenhuma ação de desfazer personalizada estiver ativa, essa propriedade será definida como 0.


Dim objUndo As UndoRecord 
 
Sub MyFunction() 
 Set objUndo = Application.UndoRecord 
 
 ' Verify that a custom undo record is already being recorded, and if not, start one 
 If objUndo.IsRecordingCustomRecord = False Then 
 objUndo.StartCustomRecord("New Undo Record") 
 End If 
 ' Add some actions here. 
 objUndo.EndCustomRecord 
 
 ' Verify that any custom undo action calls are currently active. 
 If objUndo.CustomRecordLevel > 0 Then 
 Debug.Print "An undo record call was not closed!" 
 End If 
End Sub

CustomRecordName

Retorna uma cadeia de caracteres que especifica a entrada que aparece na pilha de desfazer quando todas as ações de desfazer personalizadas são concluídas. Somente leitura.

Se os registros de desfazer personalizados estiverem aninhados em outros registros de desfazer personalizados, essa propriedade especificará que a cadeia de caracteres apareça na pilha de desfazer personalizada depois que todas as ações de desfazer forem concluídas. Se várias chamadas do método StartCustomRecord forem aninhadas, a cadeia especificada pela primeira chamada será retornada por esta propriedade. Se nenhuma ação estiver ativa, a propriedade retornará uma cadeia vazia.


Sub WalkUndoRecordStack()
Dim objUndo As UndoRecord
 
'Create UndoRecord object
Set objUndo = Application.UndoRecord
 
'Begin first custom record
objUndo.StartCustomRecord ("First call")
    'Begin nested second custom record
    objUndo.StartCustomRecord ("Second call")
        'Begin nested third undo record
        objUndo.StartCustomRecord ("Third call")
            'Message for the third call is written first to the document
            Me.Content.InsertAfter "Third call. "
            'End third custom record
        objUndo.EndCustomRecord
        'Message for the second call is written second to the document
        Me.Content.InsertAfter "Second call. "
    'End second custom record
    objUndo.EndCustomRecord
    'Message for first call is written third to the document
    Me.Content.InsertAfter "First call. "
'End first custom record
objUndo.EndCustomRecord

Set objUndo = Nothing
End Sub

EndCustomRecord

Conclui a criação de um registro de desfazer personalizado.

Use o UndoRecord.StartCustomRecord para iniciar a criação de um registro undo personalizado. Para concluir a criação de um registro undo personalizado, use o método EndCustomRecord.


Sub TestUndo() 
Dim objUndo As UndoRecord 
 
Set objUndo = Application.UndoRecord 
objUndo.StartCustomRecord ("My Custom Undo") 
    'Add some actions here 
objUndo.EndCustomRecord 
     
End Sub

IsRecordingCustomRecord

Retorna um Boolean que especifica se uma ação de desfazer personalizada está sendo registrada. Somente leitura.


Dim objUndo as UndoRecord 
Set objUndo = Application.UndoRecord 
 
If objUndo.IsRecordingCustomRecord = False Then 
objUndo.StartCustomRecord ("My Custom Undo") 
End If 
'Custom undo actions here 
objUndo.EndCustomRecord 

StartCustomRecord

Inicia a criação de um registro de desfazer personalizado.

StartCustomRecord inicia a criação de um registro de desfazer personalizado, que registra todas as ações feitas para o aplicativo enquanto estiver ativo em um registro definido por Name.

StartCustomRecord (Name)

Name: Especifica o nome do registro undo personalizado. Esta cadeia de caracteres é limitada a 64 caracteres. Se uma cadeia de caracteres mais for fornecida, a cadeia de caracteres será truncada para 64 caracteres.


Sub TestUndo() 
Dim objUndo As UndoRecord 
 
Set objUndo = Application.UndoRecord 
objUndo.StartCustomRecord ("My Custom Undo") 
    'Add some actions here 
objUndo.EndCustomRecord 
     
End Sub