即効テクニック |
ユーザーフォームのテキストボックスを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