Access VBAでフォームのサイズと表示位置を指定して開くコード|DoCmd.MoveSizeを使用

DoCmd.MoveSizeを使用し、指定したサイズと位置でフォームを開くVBAを掲載しています。

BackHomeへ BackAccessフォームへ


メニューフォームからサブフォームを開く場合、サイズと表示位置を指定することで、見栄えもよくなり操作性が向上することがあります。
指定するにはフォームの読み込み時イベント内で、 DoCmd.MoveSizeを使用します。
構文 : DoCmd.MoveSize Right, Down, Width, Height

このページでのフォームとVBAの作成手順

これでメインフォームの[サブフォームを開く]ボタンをクリックすると、指定したサイズと位置でサブフォームが開きます。

関連する「フォームを開いた時、新規レコードに移動する」も参照してください。




メニューフォーム

下が作成したメニューフォームです。
[サブフォームを開く]ボタンをクリックすると、サイズと表示位置が指定されたフォームが開きます。

メニューフォーム

サブフォームのイベント プロシージャを作成する

1.サブフォームの読み込み時イベントで、[イベント プロシージャ]を選択します。
2.[…]ボタンをクリックします。

イベント プロシージャを作成

VBE画面が表示され、Form_Load内にVBAを入力します。

Form_Load内にVBAを入力


フォームの表示位置を指定する

「DoCmd.MoveSize Right, Down」で、左上の位置が設定できます。
ここでは、Rightを1000、Downを2000にしました。

Private Sub Form_Load()
    DoCmd.MoveSize 1000, 2000
End Sub

フォームの表示位置を指定する

[サブフォームを開く]ボタンをクリックすると、サブフォームは指定された位置に表示されます。

サブフォームは指定された位置に表示

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

ここでは、サブフォームに配置している[閉じる]ボタンを基準にしてサイズを設定します。
上位置は、Me!コマンド0.Left + Me!コマンド0.Width + 1000にしました。
これで[閉じる]ボタンの右端+1000のサイズになります。
下位置は、Me!コマンド0.Top + Me!コマンド0.Height + 1000
これで[閉じる]ボタンの下端+1000のサイズになります。

Private Sub Form_Load()
    DoCmd.MoveSize 1000, 2000, _
        Me!コマンド0.Left + Me!コマンド0.Width + 1000, Me!コマンド0.Top + Me!コマンド0.Height + 1000
End Sub


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

サブフォームは[閉じる]ボタンを基準にしたサイズで表示されます。

ボタンを基準にしたサイズで表示



BackHomeへ BackAccessフォームへ

Copyright(C) FeedSoft