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

広告

フォームが表示される位置を設定します。プロパティウィンドウで指定する方法とVBAで指定する方法があります。

まずVBAから設定する方法を確認します。フォームを最初に表示する大まかな位置を設定するには「StartUpPosition」プロパティを使います。

フォームを最初に表示する時の位置を表す値を設定します。値の取得も可能
です。

引数:
  object  設定するフォームを表すオブジェクトを指定します。
  val  表示する位置を表す値を指定します。

位置を表す定数としては次の値が指定可能です。

定数表示される位置
0初期設定値を指定しません。
1フォームが属する項目の中央の位置。
2画面全体の中央の位置。
3画面の左上隅の位置。

「0」を設定した場合は自分で位置を指定します。「1」を指定した場合はフォームを呼び出したアプリケーションの中央に表示します。「2」の場合はWindowsの画面全体の中央に表示します。「3」を指定した場合には画面全体の左上に表示されます。

例えば「sampleForm」フォームに対する表示位置を指定するには次のように記述します。

sampleForm.StartUpPosition = 2

実際に設定するにはまず「Load」ステートメントを使ってフォームをメモリに読み込んだ上で設定を行い、その後表示します。

Load sampleForm
sampleForm.StartUpPosition = 2
sampleForm.Show

サンプルプログラム

では簡単なサンプルで試してみましょう。

testForm2.bas

Sub テスト()
    Load sampleForm
    sampleForm.StartUpPosition = 1
    sampleForm.Show
End Sub

上記マクロを実行すると次のようになります。(分かりやすいようにExcel上のシートからマクロを呼び出しました)

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

今回設定した値は「1」ですので、フォームを呼び出したアプリケーションの中央の位置に表示されます。

位置を自分で指定する

「StartUpPosition」ボタンに「0」を指定した場合は表示する位置を上端及び左端からの距離で指定します。指定するには「Top」プロパティ及び「Left」プロパティを使います。

フォームを表示する位置を、左端または上端からの距離を基準にして設定し
ます。

引数:
  object  設定するフォームを表すオブジェクトを指定します。
  val  表示する位置を表す座標を数値で指定します。

値は画面全体の左上からの位置で指定します。単位は「Twip」です。

例えば「sampleForm」フォームに対する表示位置を指定するには次のように記述します。

記述例としては次のようになります。下記では左上から右へ80Twip、下へ50Twip移動した位置にフォームが表示されます。

sampleForm.StartUpPosition = 0
sampleForm.Top = 50
sampleForm.Left = 80
sampleForm.Show

プロパティウィンドウで値を指定する

「StartUpPosition」プロパティ、「Top」プロパティ、「Left」プロパティについてはプロパティウィンドウで指定が出来ますので、値が決まっている場合は設計の時点で設定をしておくことも可能です。

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

( Written by Tatsuo Ikura )