Partager via


Annuler et rétablir une action dans une zone de texte ou une zone de liste déroulante

L’exemple suivant montre comment annuler ou rétablir la modification de texte dans une zone de texte ou dans la zone de texte d’un objet ComboBox. Il vérifie si une opération d’annulation ou de rétablissement peut se produire, puis il exécute l’action appropriée. Il fait appel aux propriétés CanUndo et CanRedo et aux méthodes UndoAction et RedoAction.

Pour utiliser cet exemple, copiez-en le code vers l’éditeur de script d’un formulaire. Pour exécuter le code, vous devez ouvrir le formulaire afin d’activer l’événement Open. Vérifiez que le formulaire contient :

  • un contrôle TextBox nommé TextBox1 ;

  • un ComboBox nommé ComboBox1 ;

  • Deux contrôles CommandButton nommés CommandButton1 et CommandButton2.

Dim UserForm1 
 
Sub CommandButton1_Click() 
 If UserForm1.CanUndo = True Then 
 UserForm1.UndoAction 
 MsgBox "Undid IT" 
 Else 
 MsgBox "No undo performed." 
 End If 
End Sub 
 
Sub CommandButton2_Click() 
 If UserForm1.CanRedo = True Then 
 UserForm1.RedoAction 
 MsgBox "Redid IT" 
 Else 
 MsgBox "No redo performed." 
 End If 
End Sub 
 
Sub Item_Open() 
 Set UserForm1 = Item.GetInspector.ModifiedFormPages("P.2") 
 Set TextBox1 = UserForm1.Controls("TextBox1") 
 Set ComboBox1 = UserForm1.Controls("ComboBox1") 
 Set CommandButton1 = UserForm1.Controls("CommandButton1") 
 Set CommandButton2 = UserForm1.Controls("CommandButton2") 
 
 TextBox1.Text = "Type your text here." 
 
 ComboBox1.ColumnCount = 3 
 ComboBox1.AddItem "Choice 1, column 1" 
 ComboBox1.List(0, 1) = "Choice 1, column 2" 
 ComboBox1.List(0, 2) = "Choice 1, column 3" 
 
 CommandButton1.Caption = "Undo" 
 CommandButton2.Caption = "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.