Использование коллекции элементов управления для перемещения элементов управления на странице
В следующем примере показано, как получить доступ к отдельным элементам управления из коллекции элементов управления Microsoft Forms 2.0 с помощью For Each...Next
цикла. Когда пользователь нажимает CommandButton1, другие элементы управления помещаются в столбец вдоль левого края формы с помощью метода Move элемента управления.
Чтобы использовать этот пример, скопируйте пример кода в редактор скриптов формы. Чтобы запустить код, необходимо открыть форму, чтобы активировать событие Open элемента. Убедитесь, что форма содержит CommandButton с именем CommandButton1 и несколько других элементов управления.
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
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.