HOME > 即効テクニック > AccessVBA > コーディング・デバッグ > ラベルのサイズを標題のテキストの長さに合わせる

即効テクニック

コーディング・デバッグ

ラベルのサイズを標題のテキストの長さに合わせる

(Access)
SizeToFitメソッドを利用すると、コントロールに含まれるテキスト、またはイメージに合わせてコントロールのサイズを変更することができます。
サンプルでは、ラベルの"Caption/標題"プロパティに設定されたテキストをすべてを表示するように操作しています。
モジュールを新規作成して、下記のプロシージャを作成してください。

●サンプル●
Sub Sample()

    Dim myForm  As Form
    Dim myLabel As Label

    ' 新しいフォームを作成します。
    Set myForm = CreateForm
    ' 新しいラベルを作成します。
    Set myLabel = CreateControl(myForm.Name, _
        acLabel, , , , 500, 500)
    ' フォームを元のサイズに戻します。
    DoCmd.Restore
    ' ラベルの"Caption/標題"プロパティを設定します。
    myLabel.Caption = _
        "今日の日付:" & Date & " 只今の時間:" & Time
    ' 標題の大きさに合わせてラベルの大きさを変更します。
    myLabel.SizeToFit

End Sub

このプロシージャを実行すると、ラベルの配置されたフォームが新規作成され表示されます。
そのラベルには、現在のシステム日付と時刻が表示されます。そして、SizeToFitメソッドによって、その表示内容の長さにラベルのサイズが自動的に変更されます。
SizeToFitメソッドの構文は、

control.SizeToFit

で、次の引数があります。

引数   内容 
control  ラベル、トグルボタン、コマンドボタン、イメージコントロール、
     非連結オブジェクトフレーム、およびサブフォーム/サブレポート
     コントロールなどのテキストやイメージを表示するコントロール。 

SizeToFitメソッドの機能は、フォームまたはレポートのコントロールを選択し、[書式]メニューの[サイズ変更]をポイントし、[自動調整]をクリックした場合と同じで、フォームのデザインビューまたはレポートのデザインビューでのみ、コントロールに適用することができます。
CreateControlメソッドと共にSizeToFitメソッドを使用すると、コードで作成した新しいコントロールの大きさを変更することができます。
テキストまたはイメージを含むすべてのコントロールのサイズが、SizeToFitメソッドで変更できるわけではありませんので注意してください。