コントロールの文字列の水平方向の揃え方を設定する(TextAlignプロパティ)

ユーザーフォームに設置したコントロール内で文字列が表示される場合に、水平方向の揃え方を設定するには TextAlign プロパティを使用します。左揃え、中央揃え、右揃えのいずれかを設定できます。ここでは Excel のユーザーフォームで TextAlign プロパティを使ってコントロールの文字列の水平方向の揃え方を設定する方法について解説します。

(Last modified: )

水平方向の揃え方を設定する

コントロール内の文字列の水平方向の揃え方を設定するには TextAlign プロパティを使用します。例えばラベルの TextAlign プロパティの値はデフォルトで「1 - fmTextAlignLeft」という値が設定されています。この値は文字列を左揃えにします。

水平方向の揃え方を設定する(1)

文字列を中央揃え、または右揃えに設定するには TextAlign プロパティの値のところに表示されているドロップダウンメニューをクリックし、「2 - fmTextAlignCenter」または「3 - fmTextAlignRight」を選択してください。今回は、「2 - fmTextAlignCenter」をクリックしました。

水平方向の揃え方を設定する(2)

ラベルに表示されている文字列が中央揃えに設定されました。

水平方向の揃え方を設定する(3)

このように TextAlign プロパティの値を変更することで、コントロールに表示される文字列の水平方向の揃え方を設定することができます。

VBAのプログラムの中でTextAlignプロパティを設定する

プロパティウィンドウを使って TextAlign プロパティの値を変更する代わりに、 VBA のコードを記述して TextAlign プロパティの値を変更することもできます。

プログラムの中で TextAlign プロパティを設定する場合は次の書式を使用します。

オブジェクト.TextAlign [= fmTextAlign ]

対象のオブジェクトの TextAlign プロパティに対して、水平方向の配置方法を表す値を代入します。設定可能な値は次の通りです。

定数説明
fmTextAlignLeft1左揃え
fmTextAlignCenter2中央揃え
fmTextAlignRight3右揃え

デフォルトは fmTextAlignLeft で左揃えとなっています。中央揃えにする場合は fmTextAlignCenter 、右揃えにする場合は fmTextAlignRight を代入してください。

サンプルコード

簡単なサンプルで試してみます。ユーザーフォームが表示される前に発生する Initialize イベントに対するイベントプロシージャを作成し、その中で TextAlign プロパティの値を設定します。ユーザーフォームが表示される前にコントロールのプロパティの設定が行われます。

Initialize イベントに対するイベントプロシージャの使い方については「ユーザーフォームを表示する直前に発生するイベント(Initializeイベント)」を参照されてください。

ユーザーフォームのコントロールが何もないところをダブルクリックしてください。

VBAのプログラムの中でTextAlignプロパティを設定する(1)

ユーザーフォームの規定のイベントである Click イベントに対するイベントプロシージャが表示されます。

VBAのプログラムの中でTextAlignプロパティを設定する(2)

今回はユーザーフォームの Initialize イベントに対するイベントプロシージャを使用するので、コードウィンドウで次のようにイベントプロシージャを追加で記述してください。

Private Sub UserForm_Initialize()
    UserForm1.BackColor = RGB(255, 106, 0)
    Label1.TextAlign = fmTextAlignLeft
    Label2.TextAlign = fmTextAlignCenter
    Label3.TextAlign = fmTextAlignRight
End Sub

VBAのプログラムの中でTextAlignプロパティを設定する(3)

これでコードの記述は完了です。では実際に試してみます。「Sub/ユーザーフォームの実行」をクリックしてください。

VBAのプログラムの中でTextAlignプロパティを設定する(4)

ユーザーフォームが表示されました。追加されている 3 つのラベルに表示されている文字列の水平方向の配置方法がそれぞれ変更されていることが確認できます。

VBAのプログラムの中でTextAlignプロパティを設定する(5)

このように VBA のプログラムの中で TextAlign プロパティの値を変更することができました。

-- --

Excel のユーザーフォームで TextAlign プロパティを使ってコントロールの文字列の水平方向の揃え方を設定する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。