Méthode Application.Undo (Visio)

Rétablit dans la mesure du possible l’unité d’annulation la plus récente.

Syntaxe

expression. Annuler

expressionUne variable qui représente un objetApplication.

Valeur renvoyée

Aucune

Remarques

Utilisez la méthode Undo pour rétablir des actions, une unité d’annulation à la fois.

Le nombre de fois que le code peut appeler la méthode Undo dépend de l’exécution du code dans la portée d’une unité d’annulation ouverte. Le code s’exécute dans la portée d’une unité d’annulation ouverte dans les cas suivants :

  • dans une macro ou un module complémentaire appelé par l’interface utilisateur Microsoft Visio ;

  • dans un gestionnaire d’événement répondant à un événement Visio autre que VisioIsIdle ;

  • dans une portée d’annulation créée par l’utilisateur.

Si le code ne s’exécute pas dans la portée d’une unité d’annulation ouverte, il peut appeler la méthode Undo pour chaque unité d’annulation figurant actuellement dans la pile d’annulation Visio. Vous pouvez définir le nombre maximal d’unités dans la pile d’annulation (20 est la valeur par défaut) sous l’onglet Avancé de la boîte de dialogue Options Visio (cliquez sur l’onglet Fichier , puis sur Options). Si le nombre d’appels de la méthode Undo est supérieur au nombre d’unités d’annulation de la pile, aucune action n’est effectuée et la méthode Undo ne génère pas d’exception.

Si le code s’exécute dans la portée d’une unité d’annulation ouverte, il peut appeler la méthode Undo une fois pour chaque opération de l’unité d’annulation ouverte. En cas d’appels supplémentaires de la méthode Undo, une exception est générée et aucune action n’est effectuée. Par exemple, si le code d’une macro effectue deux opérations, il peut appeler la méthode Undo deux fois. Si la macro appelle la méthode Undo une troisième fois, la méthode Undo génère une exception.

Un code qui appelle la méthode Undo à partir de la portée d’une unité d’annulation ne peut pas appeler la méthode Redo pour rétablir l’action. La méthode Redo peut uniquement être appelée lorsqu’aucune unité d’annulation n’est ouverte.

La méthode Undo génère également une exception si l’instance de Visio effectue une opération d’annulation ou de rétablissement. Pour déterminer si l’instance de Visio effectue une opération d’annulation ou de rétablissement, utilisez la propriété IsUndoingOrRedoing.

Vous pouvez appeler la méthode Undo à partir du gestionnaire d’événement VisioIsIdle car l’événement VisioIsIdle peut uniquement être déclenché lorsque la propriété IsUndoingOrRedoing a la valeur False. Vous pouvez également appeler la méthode Undo à partir d’un code non appelé par l’instance de Visio, par exemple un code appelé par Visual Basic Editor ou un programme externe.

Vous pouvez annuler la plupart des actions, mais pas toutes. La méthode Redo permet de rétablir l’effet de la méthode Undo.

Exemple

Cette macro Microsoft Visual Basic pour Applications (VBA) indique comment annuler et rétablir des actions.

 
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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.