Controls コレクション、Move メソッドの例
次の例では、For Each..を使用して Controls コレクションから個々のコントロールにアクセス します。次の ループ。 ユーザーが CommandButton1 を押すと、 Move メソッドを使用して、他のコントロールがフォームの左端に沿って列に配置されます。
この例を使用するには、以下のサンプル コードをフォームの宣言部分にコピーします。 フォームに CommandButton1 という名前の CommandButton と他のいくつかのコントロールが含まれていることを確認します。
Dim CtrlHeight As Single
Dim CtrlTop As Single
Dim CtrlGap As Single
Private Sub CommandButton1_Click()
Dim MyControl As Control
CtrlTop = 5
For Each MyControl In Controls
If MyControl.Name = "CommandButton1" Then
'Don't move or resize this control.
Else
'Move method using named arguments
MyControl.Move Top:=CtrlTop, _
Height:=CtrlHeight, Left:=5
'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
Private Sub UserForm_Initialize()
CtrlHeight = 20
CtrlGap = 5
CommandButton1.Caption = "Click to move controls"
CommandButton1.AutoSize = True
CommandButton1.Left = 120
CommandButton1.Top = CtrlTop
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。