VBAのFormをExcel中央に配置する

めっちゃ簡単だけど、簡単だからこそやってほしい。
「そんなのいらないでしょ」って思う人はデュアルディスプレイではありませんね?
デュアルディスプレイだと、Formだけが別のディスプレイの端っこに出たりするのです。

Public Sub FormPositionSet(ByRef form As Object)
    form.StartUpPosition = 0
    form.Top = Application.Top + ((Application.Height - form.Height) / 2)
    form.Left = Application.Left + ((Application.Width - form.Width) / 2)
End Sub

これだけ。
Fromの中でMe.StartUpPosition = 0;…とやっていっても良いですが、そうするとForm全部でやらないといけなくなるので、上記のように共通関数にしてしまって、Formの初期化処理あたりで

Call UtilityLayout.FormPositionSet(Me)

すれば良いと思います。


他にもニッチなIT関連要素をまとめていますので、よければ一覧記事もご覧ください。

1件のコメント

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)