#415 コントロール位置を微調整する方法(VBA) フォーム、VBA

フォームやレポートのデザインにおいて、複数のコントロールの位置をまとめて微調整する方法です。ここではVBAのプログラムからフォームのコントロールのデザインを操作する方法を説明します。
  1. まず、適当な標準モジュールに次のプロシージャを記述します。

    Public Sub MoveControl(Top, Left, Height, Width)

      Dim frm As Form
      Dim ctl As Control

      'アクティブフォームをセット
      Set frm = Screen.ActiveForm

      'フォーム内のコントロールのループ
      For Each ctl In frm.Controls
        With ctl
          'コントロールが選択されているとき
          If .InSelection Then
            '位置のプロパティを引数値に設定
            If Top <> 0 Then .Top = Top
            If Left <> 0 Then .Left = Left
            If Height <> 0 Then .Height = Height
            If Width <> 0 Then .Width = Width
          End If
        End With
      Next ctl

    End Sub
  2. 続いて、フォームのデザインビューにおいて位置調整したい複数のコントロールを選択します。なお、上記のプロシージャでは、高さや幅も微調整することができます。

  3. Accessのウィンドウにおいてそのフォームがアクティブになっている状態で、VBEのイミディエイトウィンドウから上記のプロシージャを呼び出します。このとき、各引数の値はTwip(1cmは567Twip)で指定します。
実行前:
コントロールを選択

実行後: 左位置プロパティを2500Twipに設定
プロシージャを実行したあと
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved