Compartilhar via


Método Document.Undo (Publisher)

Desfaz a última ação ou um número específico de ações. Corresponde à lista de itens que aparece quando você escolhe a seta ao lado do botão Desfazer na barra de ferramentas Standard .

Sintaxe

expressão. Desfazer (Contagem)

Expressão Uma variável que representa um objeto Document .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Count Opcional Long Especifica o número de ações a serem desfeitas. O padrão é 1, o que significa que, se omitido, somente a última ação será desfeita.

Comentários

Se for chamado quando não houver ações na pilha de desfazer ou quando Count for maior que o número de ações que residem atualmente na pilha, o método Desfazer desfazerá o máximo de ações possível e ignorará o restante.

O número máximo de ações que podem ser desfeitas em uma chamada de Undo é 20.

Exemplo

O exemplo a seguir usa o método Desfazer para desfazer ações que não atendem a critérios específicos.

A parte 1 do exemplo adiciona uma forma de linha de texto explicativo retangular à quarta página da publicação ativa, e o texto é adicionado ao texto explicativo. Esse processo cria três ações.

Parte 2 do exemplo testa se a fonte do texto adicionado ao texto explicativo é Verdana. Caso contrário, o método Desfazer é usado para desfazer todas as ações disponíveis (o valor da propriedade UndoActionsAvailable é usado para especificar que todas as ações sejam desfeitas). Isso limpa todas as ações da pilha. Uma nova forma de retângulo e um quadro de texto são adicionados e o quadro de texto é preenchido com texto Verdana.

Dim thePage As page 
Dim theShape As Shape 
Dim theDoc As Publisher.Document 
 
Set theDoc = ActiveDocument 
Set thePage = theDoc.Pages(4) 
 
With theDoc 
 ' Part 1 
 With thePage 
 ' Setting the shape creates the first action 
 Set theShape = .Shapes.AddShape(msoShapeRectangularCallout, _ 
 75, 75, 120, 30) 
 ' Setting the text range creates the second action 
 With theShape.TextFrame.TextRange 
 ' Setting the text creates the third action 
 .Text = "This text is not Verdana." 
 End With 
 End With 
 
 ' Part 2 
 If Not thePage.Shapes(1).TextFrame.TextRange.Font.Name = "Verdana" Then 
 ' UndoActionsAvailable = 3 
 .Undo (.UndoActionsAvailable) 
 With thePage 
 Set theShape = .Shapes.AddShape(msoShapeRectangle, _ 
 75, 75, 120, 30) 
 With theShape.TextFrame.TextRange 
 .Font.Name = "Verdana" 
 .Text = "This text is Verdana." 
 End With 
 End With 
 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.