テキストボックスをEnable=Falseにした際の表示を独自の表示方法にする
 ユーザーフォームのテキストボックスをEnable=Falseにすると、中の文字列が
グレーに変わります。

 それを例えば、文字は黒表示にしたい、文字をスクロールさせたいといった場合は、
テキストボックスはEnable=Falseとしてテキストボックスの上にラベルを置くなど
して別のコントロールを利用して対処する方法があります。

 サンプルでは、次のような対処をしています。
 
 フォームにテキストボックス「TextBox1」とラベル「Label1」とコマンドボタン
「CommandButton1」を用意します。
 テキストボックスと同じ位置にラベルを配置して、フォームが開かれる時に発生
するイベント「Initialize」でラベルを非表示にします。
 コマンドボタンがクリックされると発生するイベント「Click」で、ラベルの標題
にテキストボックスに入力された値を設定して表示し、テキストボックスを非表示
にします。

Private Sub UserForm_Initialize()

    Label1.Visible = False
    
End Sub

Private Sub CommandButton1_Click()

    Label1.Visible = True
    Label1.Caption = TextBox1
    TextBox1.Enabled = False

End Sub

 また、テキストボックスをEnable=True、Locked=True と設定すると、見た目は変わらず
操作だけが不可能になります。

Private Sub CommandButton1_Click()

    TextBox1.Enabled = True
    TextBox1.Locked = True

End Sub

Excel97



戻る


Excel Word Access VBA! モーグ