7 選択コントロールのサイズを取得する

フォーム上のコントロール(Controlオブジェクト)の「InSelection」プロパティで、デザインビュー上でのコントロールの選択状態を取得・設定することができます。”True”が選択状態、”False”が非選択状態です。

また、「Width」プロパティでコントロールの”幅”を、「Height」プロパティで”高さ”を取得・設定することができます。

フォームのControlsコレクションからControlオブジェクトをループで取り出し、InSelectionプロパティが”True”であるものだけ処理することで、デザインビュー上で現在選択されているコントロールのそれぞれの幅と高さをリストアップすることができます。
  • VBAでのWidthやHeightプロパティの単位は”Twip”です。1cm=567Twipとして換算すると、プロパティシートと同じ”cm”で表記することができます。
プログラム

Sub SampleCode_07()
'選択コントロールのサイズを取得する

  Dim ctl As Control
  Const TWIP_CM = 567    '1cmのTwip値

  'アクティブフォームのすべてのコントロールのループ
  For Each ctl In Screen.ActiveForm.Controls
    With ctl
      If ctl.InSelection Then
        '選択されていたらコントロールの幅と高さを出力
        Debug.Print .Name,
        Debug.Print Format(.Width / TWIP_CM, "0.000cm"),
        Debug.Print Format(.Height / TWIP_CM, "0.000cm")
      End If
    End With
  Next ctl

End Sub

実行例
■実行前

■実行後
| Index | Prev | Next |



Copyright © T'sWare All rights reserved