アクセス上位ページ
 
最近の更新内容
(2)-b.共通プロパティ ⇐ [PREV]
[NEXT] ⇒ (2)-d.テキストボックス

Excel VBA ≫ 5.ユーザーフォーム - 各種コントロール解説(2)-c.ラベル

ラベルのプロパティ

このページではラベルの主なプロパティについて解説します。 ラベルは項目見出しや処理結果の表示など使用頻度の高いコントロールです。しかっり使い方をマスターしておきましょう。



このページで説明するラベルのプロパティは以下のとおりです。 コントロールオブジェクトが異なるだけで前のページで説明した内容と同じプロパティについては説明を割愛させていただきます。 かわりにリンクをまとめてありますのでリンク先をご覧になってください。



表示文字列とそのフォント・色

文字列は Caption プロパティ、文字のフォントは Font プロパティ、文字色は ForeColor プロパティで設定します。 文字のフォントと色はプロパティウィンドウで設定しようとするとさらに別ウィンドウが開くので、その画面から設定を行います。 文字色にはRGB値、色定数システムカラーのいずれも設定が可能です。
管理人から一言・・・ ラベルの既定のプロパティ
既定のプロパティは Caption プロパティです。プロパティを省略した場合は Caption プロパティが指定されたものとみなされます。
  • Caption、Font、ForeColor プロパティ
  • <プロパティウィンドウでの初期値設定例> 文字のフォント・色の設定 <コードの記述例>
    With Label1
        .Caption = "現住所"
        .Font.Name = "MS UI Gothic"
        .Font.Bold = True       '太字
        .Font.Size = 14         '文字サイズ14pt
        .ForeColor = vbBlue     '色定数 青
    End With
    

    <上記設定時の表示結果> 文字フォント・色変更後

枠線

枠線は BorderStyle プロパティか、SpecialEffect プロパティのどちらか一方で設定します。 BorderStyle プロパティでは単純な枠線しか表現できないのに対し、 SpecialEffect プロパティでは4種類の枠線が表示可能です。 枠線が不要の場合は、両方のプロパティに"枠線なし"を設定する必要があります。
  • BorderStyle プロパティ
  • <プロパティウィンドウでの初期値設定例>
    BorderStyle プロパティの右端をクリックし、ドロップダウンリストから枠線表示に対応する定数を1つ選びます。 BorderStyleによる枠線の設定 <コードの記述例>
    '枠線なしの場合
    Label1.BorderStyle = fmBorderStyleNone
    '枠線ありの場合
    Label1.BorderStyle = fmBorderStyleSingle
    

    BorderStyle定数一覧
    定数 表示イメージ
    fmBorderStyleNone 0 枠線なし
    fmBorderStyleSingle 1 枠線あり


  • SpecialEffect プロパティ
  • <プロパティウィンドウでの初期値設定例>
    SpecialEffect プロパティの右端をクリックし、ドロップダウンリストから希望の枠線に対応する定数を1つ選びます。 SpecialEffectによる枠線の設定 <コードの記述例>
    '枠線なしの場合
    Label1.SpecialEffect = fmSpecialEffectFlat
    '枠線あり(枠線内が浮き出た視覚効果)の場合
    Label1.SpecialEffect = fmSpecialEffectRaised
    

    SpecialEffect定数一覧
    定数 表示イメージ
    fmSpecialEffectFlat 0 枠線なし
    fmSpecialEffectRaised 1 枠線内が浮き出た視覚効果
    fmSpecialEffectSunken 2 枠線内がへこんだ視覚効果
    fmSpecialEffectEtched 3 枠線部分がへこんだ視覚効果
    fmSpecialEffectBump 6 枠線部分が浮き出た視覚効果


文字列の配置

枠線を表示させると文字列と枠線の隙間が気になってきます。 ここでは AutoSize プロパティで文字列に枠線をフィットさせる方法と、 TextAlign プロパティで水平方向の位置を調整する方法を説明します。 そして、最後に文字列を垂直方向の中央に配置する例をご紹介します。
  • AutoSize プロパティ
  • AutoSize プロパティに True を設定すると、ラベルのクライアント領域が文字列の幅と高さに自動的に調整されます。
    (Width、Height プロパティが自動的に変更されます)

    <プロパティウィンドウでの初期値設定例>
    AutoSize プロパティの右端をクリックし、ドロップダウンリストから True / False のどちらかを選びます。 AutoSizeプロパティにTrueを設定 <コードの記述例>
    'AutoSizeを無効にしたい場合
    Label1.AutoSize = False
    'AutoSizeを有効にしたい場合
    Label1.AutoSize = True
    
    <AutoSizeを有効にしたときの表示結果> AutoSizeプロパティをTrueに設定したときの表示結果
  • TextAlign プロパティ
  • 文字列の水平方向の位置を左、中央、右のいずれかに設定することができます。

    <プロパティウィンドウでの初期値設定例>
    TextAlign プロパティの右端をクリックし、ドロップダウンリストから希望の配置に対応する定数を1つ選びます。 文字列の水平方向の位置を設定 <コードの記述例>
    '文字列を中央に配置
    Label1.TextAlign = fmTextAlignCenter
    

    TextAlign定数一覧
    定数 表示イメージ
    fmTextAlignLeft 1 文字列を左寄せに配置
    fmTextAlignCenter 2 文字列を中央に配置
    fmTextAlignRight 3 文字列を右寄せに配置


  • 文字列を垂直方向の中央に配置する方法
  • TextAlign プロパティでは水平方向の位置調整しかできないため、垂直方向の配置に対してはかなり不満が残ります。 ここでは垂直方向の位置を中央に配置する一例として、ラベルを2つ使用する方法をご紹介します。

    それは枠線のみのラベル(Label1)と文字列のみを表示したラベル(Label2)をそれぞれ用意し、それらを重ね合わせるという方法です。

    Label1   Label2    
    枠線のみのラベル   +   文字列おみのラベル   =   重ね合わせた結果


    文字列のみ表示したラベル(Label2)は背景色を透過(BackStyle プロパティをゼロ:fmBackStyleTransparent)にしておくとよいでしょう。 背景色を透過に設定 あとはプロパティウィンドウのラベル位置(Top、Left プロパティ)をひたすら手入力で微調整してください。 ラベルの位置を微調整


折り返しと改行

ラベル内の文字列がラベルの幅を超えたときの折り返しの有無は WordWrap プロパティで設定します。 折り返しとは別に、任意の場所で改行する方法についても簡単に説明します。
  • 折り返し
  • WordWrap プロパティはデフォルトで True のため、文字列がラベルの幅を超えると折り返されます。 もし、折り返しを抑止したいならば、False を設定します。 WordWrap プロパティを False に設定した場合は、 AutoSize プロパティを True にして文字列全体が表示されるようにする必要があります。

    <プロパティウィンドウでの初期値設定例>
    WordWrap プロパティの右端をクリックし、ドロップダウンリストから True / False のどちらかを選びます。 プロパティウィンドウからWordWrapを設定 <コードの記述例>
    '折り返しありの場合
    Label1.WordWrap = True
    '折り返しなしの場合
    Label1.WordWrap = False
    
    <折り返しありの表示例> WordWrapがTrueの場合 (参考)WordWrap = False、AutoSize = False の場合 WordWrapがFalseの場合
  • 改行
  • 文字列内の任意の場所で改行するには改行コードを含める必要があります。 プロパティウィンドウの Caption に直接改行を入力することはできませんが、 任意のエディタで入力した文字列をコピー&ペーストすることで、改行を入力することができます。
    • 任意のエディタ(ノートパッドなど)で改行を含んだ文字列を入力
    • ノートパッドで改行を含んだ文字列を入力
    • 文字列をコピー
    • 文字列をコピー
    • プロパティウィンドウの Caption 内に貼り付け
    • プロパティウィンドウの Caption 内に貼り付け
    • 表示結果
    • 改行を含んだ文字列の表示結果
    コードからは普通に改行コードを含めた文字列を Caption プロパティに設定することができます。 改行コードの定数(vbLf、vbCr、vbCrLf)はいずれもラベル内で改行されます。

    Label1.Caption = "現住所を" & vbLf & "入力"
    

<サイト内関連リンク> 関連リンクもチェック!!
- コントロール一覧
- 各コントロールに共通のプロパティ
   (Width、Height、BackColor、Enabled、Visible、ControlTipText)
カテゴリ内ページ



Page
Top