Método Application.Undo (Visio)
Reverte a unidade de desfazer mais recente, se a unidade de desfazer puder ser revertida.
Sintaxe
expressão. Desfazer
expressão Uma variável que representa um Aplicativo objeto.
Valor de retorno
Nada
Comentários
Use o método Undo para reverter ações, uma unidade de desfazer por vez.
O número de vezes que o código pode chamar o método Undo depende de se o código está sendo executado no escopo de uma unidade de desfazer aberta ou não. O código será executado no escopo de uma unidade de desfazer aberta se for ou estiver:
Uma macro ou complemento invocado pela interface do usuário do Microsoft Visio.
Em um manipulador de eventos respondendo a um evento do Visio diferente do evento VisioIsIdle.
Em um escopo de desfazer criado pelo usuário.
Se o código não estiver sendo executado no escopo de uma unidade de desfazer aberta, ele poderá chamar o método Undo para cada unidade de desfazer atualmente na pilha de desfazer do Visio. Você pode definir o número máximo de unidades na pilha de desfazer (20 é o padrão) na guia Avançado da caixa de diálogo Opções do Visio (clique na guia Arquivo e clique em Opções). Se o número de chamadas para o método Undo exceder o número de unidades de desfazer na pilha, nenhuma ação será tomada e o método Undo não levantará uma exceção.
Se o código estiver sendo executado no escopo de uma unidade de desfazer aberta, ele poderá chamar o método Undo uma vez para cada operação na unidade de desfazer aberta. Se houver chamadas adicionais para o método Undo, ele levantará uma exceção e não tomará ação alguma. Por exemplo, se o código em uma macro executar duas operações, ele poderá chamar o método Undo duas vezes. Se a macro chamar o método Undo uma terceira vez, o método Undo levantará uma exceção.
O código que chama o método Undo do escopo de uma unidade de desfazer não pode chamar o método Redo para reverter a ação. O método Redo pode ser chamado apenas quando não há unidades de desfazer abertas.
O método Undo também levantará uma exceção se a instância do Visio estiver executando um desfazer ou refazer. Para determinar se a instância do Visio está desfazendo ou refazendo, use a propriedade IsUndoingOrRedoing .
Você pode chamar o método Undo no manipulador de eventos do VisioIsIdle porque o evento VisioIsIdle pode ser acionado apenas quando a propriedade IsUndoingOrRedoing for False. Você também pode chamar o método Undo no código não invocado pela instância do Visio, por exemplo, o código invocado no Editor do Visual Basic ou em um programa externo.
Você pode desfazer a maioria das ações, mas não todas. Use o método Redo para reverter o efeito do método Undo.
Exemplo
Esta macro do Microsoft Visual Basic for Applications (VBA) mostra como desfazer e refazer ações.
Public Sub Undo_Example()
Dim vsoShape As Visio.Shape
'Draw a rectangle, use Undo to delete it, and
'then use Redo to redraw it.
Set vsoShape = ActivePage.DrawRectangle(1, 5, 5, 1)
'Delete the shape.
Visio.Application.Undo
'Bring it back.
Visio.Application.Redo
End Sub
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.