Método Document.BeginCustomUndoAction (Publisher)
Especifica o ponto inicial e o rótulo (descrição textual) de um grupo de ações dispostas para criar uma única ação desfazer.
O método EndCustomUndoAction é usado para especificar o ponto final das ações usadas para criar a ação desfazer única. O grupo disposto de ações pode ser desfeito com uma única ação desfazer.
Sintaxe
expressão. BeginCustomUndoAction (ActionName)
Expressão Uma variável que representa um objeto Document .
Parâmetros
Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
---|---|---|---|
ActionName | Obrigatório | String | O rótulo que corresponde à ação desfazer única. Esse rótulo é exibido quando você escolhe a seta ao lado do botão Desfazer na barra de ferramentas Standard . |
Comentários
Os seguintes métodos do objeto Document não estão disponíveis dentro de uma ação de desfazer personalizada. Um erro em tempo de execução será retornado se qualquer um desses métodos são chamados dentro de uma ação de desfazer personalizada:
- Close
- MailMerge.DataSource.Close
- PrintOut
- Refazer
- Save
- SaveAs
- Undo
- UndoClear
- UpdateOLEObjects
O método BeginCustomUndoAction deve ser chamado antes que o método EndCustomUndoAction é chamado. Um erro em tempo de execução será retornado se EndCustomUndoAction é chamado antes BeginCustomUndoAction.
É permitido aninhar uma ação de desfazer personalizada dentro de outra ação idêntica, mas a ação aninhada não produz efeitos. Somente a ação personalizada mais externa permanecerá ativa.
Exemplo
O exemplo a seguir contém duas ações de desfazer personalizado. A primeira é criada na primeira página da publicação ativa. O método BeginCustomUndoAction é usado para especificar o ponto no qual a ação de desfazer personalizada deve começar. Seis ações individuais são executadas e, em seguida, eles devem ser quebrados em uma ação com a chamada para EndCustomUndoAction.
O texto no quadro que foi criado dentro da primeira ação de desfazer personalizada é testado para determinar se a fonte é Verdana. Se não for, o método Undo será chamado com UndoActionsAvailable passado como parâmetro. Nesse caso, há apenas uma ação de desfazer disponível. Portanto, a chamada para o método Desfazer desfaz apenas uma ação, mas esta ação embrulhou seis ações em uma.
Uma segunda ação desfazer é, então, criada e também pode ser desfeita posteriormente com uma única operação desfazer.
Dim thePage As page
Dim theShape As Shape
Dim theDoc As Publisher.Document
Set theDoc = ActiveDocument
Set thePage = theDoc.Pages(1)
With theDoc
' The following six actions are wrapped to create one
' custom undo action named "Add Rectangle and Courier Text".
.BeginCustomUndoAction ("Add Rectangle and Courier Text")
With thePage
Set theShape = .Shapes.AddShape(msoShapeRectangle, _
75, 75, 190, 30)
With theShape.TextFrame.TextRange
.Font.Size = 14
.Font.Bold = msoTrue
.Font.Name = "Courier"
.Text = "This font is Courier."
End With
End With
.EndCustomUndoAction
If Not thePage.Shapes(1).TextFrame.TextRange.Font.Name = "Verdana" Then
' This call to Undo will undo all actions that are available.
' In this case, there is only one action that can be undone.
.Undo (.UndoActionsAvailable)
' A new custom undo action is created with a name of
' "Add Balloon and Verdana Text".
.BeginCustomUndoAction ("Add Balloon and Verdana Text")
With thePage
Set theShape = .Shapes.AddShape(msoShapeBalloon, _
75, 75, 190, 30)
With theShape.TextFrame.TextRange
.Font.Size = 11
.Font.Name = "Verdana"
.Text = "This font is Verdana."
End With
End With
.EndCustomUndoAction
End If
End With
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.