● 概要 ●
構文 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メソッドを使っ
てください。