#553 | フォームの指定セクションのコントロールを列挙する方法 | フォーム、VBA | |
フォームには、コントロールを配置する場所としていくつかの領域があります。その領域のことを「セクション」と呼び、よく使われるものとして、「ヘッダーセクション」、「詳細セクション」、「フッターセクション」の3つがあります。 ヘッダーとフッターに配置されたコントロールは固定的に画面上部と下部に表示されます。一方、詳細セクションに配置されたコントロールは、フォームが単票形式の場合は他のセクションに配置した場合と変わりありませんが、帳票形式の場合にはレコードごとにこのセクション内のコントロールがスクロールするという特徴があります。 ここでは、あるフォームについて、指定されたセクション内に配置されたコントロールだけを列挙するプログラムを紹介します。 次の例では、「商品」フォームに配置されているコントロールのうち、「ヘッダーセクション」に配置されたコントロールだけを列挙しています。 Dim frm As Form Dim ctl As Control Set frm = Forms("商品") For Each ctl In frm.Section(acHeader).Controls Debug.Print ctl.Name Next ctl ポイントとしては、「Controls」コレクション内の要素をループで取得する際、「フォームオブジェクト.Section(セクションを表わす定数).Controls」という表記をすることです。”セクションを表わす定数”として、次のような値を指定することで、それぞれのセクションを指定することができます。
実行例: |
|||
|
Copyright © T'sWare All rights reserved |