Compartilhar via


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.