HOME > 即効テクニック > AccessVBA > フォーム・レポート > フォームのサイズを設定する

即効テクニック

フォーム・レポート

フォームのサイズを設定する

(Access 2000/2002/2003)
● 概要 ●
構文  expression.WindowHeight 取得のみ
      expression.WindowWidth 取得のみ
      expression.InsideHeight 設定/取得
      expression.InsideWidth 設定/取得
      expression.Width 設定/取得

設定項目        内容
expression      Formオブジェクト[省略可能]

構文 expression.Height 設定/取得

設定項目        内容
expression	Sectionオブジェクト[省略不可]

WindowHeightプロパティ、WindowWidthプロパティ、InsideHeightプロパティ、InsideWidthプロパティ、Widthプロパティは、フォームモジュールで使用する場合のみ省略可能です。
省略した場合、自身のFormオブジェクトを指定したことになります。
Heightプロパティは、Sectionオブジェクトなので、Formオブジェクトを指定するとエラーになりますので注意してください。

WindowHeightプロパティとWindowWidthプロパティは、ウィンドウの高さと幅の取得に使用します。
これらのプロパティを設定に使用することはできません。
InsideHeightプロパティとInsideWidthプロパティでは、ウィンドウ内側の高さと幅を設定または取得します。
ウィンドウ内側とは、スクロールバーとレコードセレクタを除く領域です。
Heightプロパティはセクションの高さの設定または取得に使用します。
Widthプロパティはフォームの幅の設定または取得に使用します。
プロパティ値の単位はtwipです。印刷したときに1cmになるサイズが567twip、1インチになるサイズが1440twipです。

次のコードは、新規にフォームを作成して、そのフォームのサイズを設定し、Accessウィンドウの左上隅に表示するものです。


● サンプル ●
'フォームのサイズを設定する
Sub WindowSizeSample()
    Dim myForm As Form
  '最小化したフォームを作成
    Set myForm = CreateForm()
  'デザインビューでフォームを開く
    DoCmd.Restore 
    With myForm
     'ウィンドウ内側の高さを設定
        .InsideHeight = 5000
     'ウィンドウ内側の幅を設定
        .InsideWidth = 8000
     '詳細セクションの高さを設定
        .Section(acDetail).Height = 3000
     'フォームの幅を設定
        .Width = 4000 
    End With
  'ウィンドウを左上隅に移動
    DoCmd.MoveSize 0, 0
  'ウィンドウのサイズを表示
    MsgBox "高さ " & myForm.WindowHeight & vbCr _
        & "幅   " & myForm.WindowWidth 
End Sub


● 実行結果 ●
新規フォームが設定した値でAccessウィンドウの左上隅に表示されます。メッセージボックスに表示されている高さと幅は、フォーム1のウィンドウサイズです。


● 注意 ●
WindowHeightプロパティとWindowWidthプロパティは、設定には使用できません。ウィンドウサイズを設定したいときは、DoCmdオブジェクトのMoveSizeメソッドを使っ
てください。