|
みなさん、こんにちは。
>msdnには、TextBox.Lockedプロパティについて、つぎのように記述されています。
>
>保護されているシートで、TextBox をデザイン時に変更できるかどうかを示す値を取得または設定します。
>TextBox は、シートが保護されている場合のみロックできます。ロックされた TextBox は、デザイン時に移動またはサイズ変更できません。
>
>つまり、ユーザフォームとは違うようです。
>シートのテキストボックスの入力不可には、Enablesd=Falseがよさそうです。
テラさんのご希望の処理は
Enablesd=False
でも良いかもしれません
(私もEnabledを設定することが圧倒的に多いです)。
ただ、ユーザーフォーム上のTextboxコントロールにたいして
Locked=True
としたときの動作とちょっと違いますよね?
Locked=Trueは、フォーカスを取得することはできますよね?
(たいした問題ではないですけど・・・)
コントロールツールボックスのテキストボックスを
適当なシート(Sheet1)に配置した場合(Textbox1とします)、
コントロール名を直接指定して
Worksheets("Sheet1").Textbox1.Locked=True
では、
>TextBox は、シートが保護されている場合のみロックできます。ロックされた >TextBox は、デザイン時に移動またはサイズ変更できません。
という設定をしていることになってしまいます。
何故なのか?は、わかりません、私も不可解です。
しかし、
With Worksheets("sheet1").OLEObjects("textbox1").Object
.Locked = True
End With
とすれば、ユーザーフォーム上のテキストボックスのLockedプロパティと
同じ動作をしてくれます。
因みに
Worksheets("sheet1").OLEObjects("textbox1").Locked = True
とすれば、
>TextBox は、シートが保護されている場合のみロックできます。ロックされた >TextBox は、デザイン時に移動またはサイズ変更できません。
という制御を行っています。
試してみて下さい
|
|