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.