VBAでのユーザーフォームの使い方とプロパティおよびイベント
ユーザーフォームはラベルやコマンドボタンなどのコントロールを設置する土台となる部分です。ここでは VBA のプログラムからユーザーフォームを使用する方法、およびユーザーフォームのプロパティとイベントの一覧について解説します。
(Last modified: )
目次
ユーザーフォームのプロパティ一覧と利用方法
ユーザーフォームで利用可能なプロパティ一覧は次の通りです。
BackColor BorderColor BorderStyle Caption Cycle DrawBuffer Enabled Font ForeColor Height HelpContextID KeepScrollBarsVisible Left MouseIcon MousePointer Picture PictureAlignment PictureSizeMode PictureTiling RightToLeft ScrollBars ScrollHeight ScrollLeft ScrollTop ScrollWidth ShowModal SpecialEffect StartUpPosition Tag Top WhatsThisButton WhatsThisHelp Width Zoom
ユーザーフォームを表示する位置については StartUpPosition
プロパティ、 Top
プロパティ、 Left
プロパティを組み合わせて指定します。詳しい使い方については「ユーザーフォームを表示する位置を設定する(StartUpPosition,Top,Leftプロパティ)」で解説しています。
その他のいくつかのプロパティについてはこのあと簡単に解説します。
ユーザーフォームのタイトルを設定する(Caption)
ユーザーフォームのタイトルバーに表示される文字列を設定するには Caption
プロパティに値を設定します。
オブジェクト.Caption [= String ]
タイトルに設定する文字列を代入してください。
具体的には次のように記述します。
Option Explicit Sub テスト() Load UserForm1 UserForm1.Caption = "問い合わせ" UserForm1.Show End Sub
プログラムを実行すると表示されたユーザーフォームのタイトルが指定した値に設定されているのが確認できます。
ユーザーフォームの幅と高さを設定する(Width,Height)
ユーザーフォームの幅と高さを設定するには幅については Width
プロパティ、高さについては Height
プロパティに値を設定します。
オブジェクト.Width [= Single ] オブジェクト.Height [= Single ]
幅および高さをあらわす単精度浮動小数点型の数値を代入してください。単位はポイントです。
具体的には次のように記述します。
Option Explicit Sub テスト() Load UserForm1 UserForm1.Width = 400 UserForm1.Height = 200 UserForm1.Show End Sub
プログラムを実行すると表示されたユーザーフォームの幅および高さが指定した値に設定されているのが確認できます。
ユーザーフォームの背景色を設定する(BackColor)
ユーザーフォームの背景色を設定するには BackColor
プロパティに値を設定します。
オブジェクト.BackColor [= Long ]
色を表す長整数型の値を代入します。値は Windows のシステムカラーを表す値や定数、または青緑赤の値を使った色を表す値を代入します。
具体的には次のように記述します。今回は RGB 関数を使って色を指定しました。( RGB 関数の使い方については「RGB関数:色を表す数値を取得する」を参照されてください)
Option Explicit Sub テスト() Load UserForm1 UserForm1.BackColor = RGB(200, 0, 0) UserForm1.Show End Sub
プログラムを実行すると表示されたユーザーフォームの背景色が指定した値に設定されているのが確認できます。
ユーザーフォームのイベント一覧
ユーザーフォームで発生するイベント一覧は次の通りです。
Activate AddControl BeforeDragOver BeforeDropOrPaste Click DblClick Deactivate Error Initialize KeyDown KeyPress KeyUp Layout MouseDown MouseMove MouseUp QueryClose RemoveControl Resize Scroll Terminate Zoom
ユーザーフォームの既定のイベントは Click
イベントです。
-- --
VBA のプログラムからユーザーフォームを使用する方法、およびユーザーフォームのプロパティとイベントの一覧について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。