Utiliser la collection Controls pour déplacer des contrôles sur une page
L’exemple suivant accède à des contrôles individuels à partir de la collection Controls Microsoft Forms 2.0 à l’aide d’une For Each...Next
boucle. Lorsque l’utilisateur appuie sur CommandButton1, les autres contrôles sont placés dans une colonne sur le bord gauche du formulaire à l’aide de la méthode Move du contrôle.
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 de l’élément. Assurez-vous que le formulaire contient un CommandButton nommé CommandButton1 et plusieurs autres contrôles.
Dim CtrlHeight
Dim CtrlTop
Dim CtrlGap
Dim CommandButton1
Sub Item_Open()
Set CommandButton1 = Item.GetInspector.ModifiedFormPages("P.2").CommandButton1
CtrlHeight = 20
CtrlGap = 5
CommandButton1.Caption = "Click to move controls"
CommandButton1.AutoSize = True
CommandButton1.Left = 120
CommandButton1.Top = CtrlTop
End Sub
Sub CommandButton1_Click()
Dim MyControl
Set AllControls = Item.GetInspector.ModifiedFormPages("P.2").Controls
CtrlTop = 5
For i = 0 to AllControls.Count - 1
Set MyControl = AllControls(i)
If MyControl.Name = "CommandButton1" Then
'Don't move or resize this control.
Else
'Move method using unnamed arguments (left, top, width, height)
MyControl.Move 5, CtrlTop, ,CtrlHeight
'Calculate top coordinate for next control
CtrlTop = CtrlTop + CtrlHeight + CtrlGap
End If
Next
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.