ラベルの利用

フォーム上で固定の文字などを表示するラベルの利用方法について解説します。

(2022 年 06 月 16 日公開 / 2022 年 06 月 16 日更新)

ラベルを作成する

ラベルを作成する方法を見ていきます。ラベルを作成するにはツールボックス上で下記のアイコンをクリックします。

ラベルを作成する(1)

アイコンをクリックした後でフォーム上でマウスをドラッグしてラベルを作成します。

ラベルを作成する(2)

ラベルを作成する(3)

オブジェクト名の設定

VBAから操作するにあたってラベルのオブジェクト名を設定しておきます。ラベルのプロパティウィンドウを見てください。

ラベルを作成する(4)

オブジェクト名はプロパティウィンドウ上で直接編集が出来ます。今回はオブジェクト名を「nameLabel」に変更します。

ラベルを作成する(5)

ラベルに表示する文字列を設定する

ラベルに表示する文字列を設定します。文字列を設定するには「Caption」プロパティを使います。

object.Caption = String

オブジェクトの上に表示する説明テキストを設定します。 object には設定するオブジェクトを指定します。設定する値の String にはキャプションとして表示されるテキストを示す文字列式を指定します。

ラベルに表示したい文字列をCaptionプロパティに設定します。

nameLabel.Caption = "ラベル"

ラベルはフォームに属しています。その為、ラベルに対するコードを記述する場合は「フォーム名.ラベル名」の形で記述します。

sampleForm.nameLabel.Caption = "ラベル"

サンプルプログラム

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

Sub テスト()
    Load sampleForm
    sampleForm.nameLabel.Caption = "Name"
    sampleForm.Show
End Sub

上記マクロを実行すると次のように表示されます。

ラベルに表示する文字列を設定する(1)

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

「Caption」プロパティについてはプロパティウィンドウで指定が出来ますので、値が決まっている場合は設計の時点で設定をしておくことも可能です。プロパティウィンドウの「Caption」の箇所に表示したい文字列を記述します。

ラベルに表示する文字列を設定する(2)

ラベルのフォントを設定する

ラベルに表示する文字列のフォントを設定します。フォントの設定には、ラベルからフォントオブジェクトを取得し、フォントオブジェクトが持つ色々なプロパティに対して値を設定します。

まずフォントの種類の設定です。

object.Name = String

フォントの種類を設定します。 object には対象となる Font オブジェクトを指定します。設定する値の String にはフォント名を指定します。

「Name」プロパティにフォント名を指定します。例えば「MS 明朝」などのようなフォントを表す文字を指定します。

次にフォントの太字や斜体など属性の設定です。

object.Size = Currency
object.Bold = Boolean
object.Italic = Boolean
object.StrikeThrough = Boolean
object.Underline = Boolean

フォントに関する各種属性を設定します。 object には対象となる Font オブジェクトを指定します。値として設定する Currency にはフォントサイズを表す数値を指定します。また Boolean には指定の属性を適用する場合に True 、解除する場合は False を指定します。

「Size」プロパティは文字のサイズをポイント単位で指定します。

「Bold」プロパティは文字を太字にするかどうかを、「Italic」プロパティは文字を斜体にするかどうかを、「StrikeThrough」プロパティは文字で取り消し線を表示するかを、「Underline」プロパティは文字に下線を表示するかどうかを指定します。

ラベルコントロールに対してFontに関する設定を行う場合は「Font」プロパティを使って次のように指定します。

sampleForm.nameLabel.Font.Name = "MS 明朝"
sampleForm.nameLabel.Font.Bold = True

サンプルプログラム

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

Sub テスト()
    Load sampleForm
    sampleForm.nameLabel.Font.Name = "MS 明朝"
    sampleForm.nameLabel.Font.Bold = True
    sampleForm.nameLabel.Font.Italic = True
    sampleForm.nameLabel.Font.Size = 12
    sampleForm.Show
End Sub

上記マクロを実行すると次のように表示されます。

ラベルのフォントを設定する(1)

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

フォントに関する設定はプロパティウィンドウで指定が出来ますので、値が決まっている場合は設計の時点で設定をしておくことも可能です。プロパティウィンドウの「Font」の箇所の右側にある「...」をクリックします。

ラベルのフォントを設定する(2)

フォント名やスタイルなどの各種設定が行えます。

ラベルのフォントを設定する(3)

ラベルの文字色と背景色を設定する

ラベルの文字色と背景色を設定します。

文字色の設定には「ForeColor」プロパティを使います。

object.ForeColor = Long

オブジェクトの前景色を設定します。 object には対象となるオブジェクトを指定します。設定する値の Long にはオブジェクトの前景色を表す値または定数を指定します。

色を指定するためのLong型の値には数値の変わりにRGB関数を使って色を指定できます。(RGB関数については「RGB関数」を参照して下さい。

使い方としては次のようになります。

sampleForm.nameLabel.ForeColor = RGB(255, 0, 0)

次は背景色の設定です。背景色の設定には「BackColor」プロパティを使います。

object.BackColor = Long

オブジェクトの背景色を設定します。 object には対象となるオブジェクトを指定します。設定する値の Long にはオブジェクトの背景色を表す値または定数を指定します。

基本的に使い方は前景色の場合と同じです。ただ背景色の場合は背景が非透明になっている必要があります。デフォルトで非透明になっているので特に設定は必要ありませんが明示的に指定する場合には「BackStyle」プロパティを設定します。

object.BackStyle = fmBackStyle

オブジェクトの背景のスタイルを設定します。 object には対象となるオブジェクトを指定します。設定する値の fmBackStyle にはコントロールの背景スタイルを指定します。

指定できる値は次のどちらかです。

定数背景スタイル
fmBackStyleTransparent0背景を透明にします
fmBackStyleOpaque1背景を不透明にします

使い方としては次のようになります。

sampleForm.nameLabel.BackColor = RGB(255, 0, 0)
sampleForm.nameLabel.BackStyle = fmBackStyleOpaque

サンプルプログラム

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

Sub テスト()
    Load sampleForm
    sampleForm.nameLabel.ForeColor = RGB(255, 0, 0)
    sampleForm.nameLabel.BackColor = RGB(255, 255, 0)
    sampleForm.Show
End Sub

上記マクロを実行すると次のように表示されます。

ラベルの文字色と背景色を設定する(1)

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

前景色と背景色に関する設定はプロパティウィンドウで指定が出来ますので、値が決まっている場合は設計の時点で設定をしておくことも可能です。では例として背景色の設定を行います。プロパティウィンドウの「BackColor」の箇所の右側にある下矢印をクリックします。

ラベルの文字色と背景色を設定する(2)

下記のようにカラーパレットが表示されますので色を選択できます。

ラベルの文字色と背景色を設定する(3)

ラベルのイベント処理

ラベルで用意されているイベントは以下の通りです。

イベント発生条件
Clickマウスでクリック
DblClickマウスで2 回クリック
MouseDownマウスボタンを押す
MouseUpマウスボタンを離す
MouseMoveマウスボタンを動かす
Errorコントロールでエラーが検出され、呼び出し元のプログラムにエラー情報を返せないとき
BeforeDragOverドラッグ アンド ドロップ操作の実行
BeforeDropOrPasteデータをオブジェクトにドロップしようとするか、または貼り付けようとする

例としてClickイベントを試してみます。フォームのコードウィンドウを開いて下さい。

ラベルのイベント処理(1)

コードウィンドウが開いたら次のように入力します。

Private Sub nameLabel_Click()
    sampleForm.nameLabel.BackColor = RGB(255, 255, 0)
End Sub

ラベルでクリックイベントが発生したら、背景色を黄色に変更します。では実行してみます。

ラベルのイベント処理(2)

ラベルの上でクリックして下さい。次のように背景色が変更されます。

ラベルのイベント処理(3)

-- --

フォーム上で固定の文字などを表示するラベルの利用方法について解説しました。

( Written by Tatsuo Ikura )

広告
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。