5 詳細セクションのコントロールだけプロパティを変更する

フォーム上のコントロール(Controlオブジェクト)の「Section」プロパティを調べることで、そのコントロールがどのセクションに配置されているかを取得することができます。

フォームのControlsコレクションからControlオブジェクトをループで取り出し、それぞれのSectionプロパティを取得、その値に応じて条件分岐することで、特定のセクションに配置されているコントロールだけ(たとえば詳細セクションのコントロールだけ)を処理するといったことができます。

またそうして取得したコントロールに対して任意のプロパティの値をプログラムから設定することで、同じセクション内の複数のコントロールに同じプロパティ値を一括設定することができます。

なお、Sectionプロパティの値を照合する際は、次のような組み込み定数を指定することができます。
  • 詳細セクションacDetail
  • フォームヘッダーセクションacHeader
  • フォームフッターセクションacFooter
  • ページヘッダーセクションacPageHeader
  • ページフッターセクションacPageFooter
プログラム

Sub SampleCode_05()
'詳細セクションのコントロールだけプロパティを変更する

  Dim ctl As Control

  'アクティブフォームのすべてのコントロールのループ
  For Each ctl In Screen.ActiveForm.Controls
    With ctl
      If .Section = acDetail Then
        '詳細セクションなら背景色を変更する
        .BackStyle = 1
        .BackColor = RGB(240, 170, 220)
      End If
    End With
  Next ctl

End Sub

実行例
■実行前

■実行後
| Index | Prev | Next |



Copyright © T'sWare All rights reserved