|
▼ハナ さん:
おはようございます。
>>Property Let txtenbl(ByVal enbl As Boolean)
>'Property Let や Getをクラスモジュールとのセット以外で使用するのを
> 見たのは初めてなので、簡単な解説をいただければ幸いです
ん?、Property Get Letは、全てのモジュールで使用可能ですよ!!
もっとも標準モジュールで使用する場合、その意味が説明出来ませんが・・・。
オブジェクトモジュール(クラスモジュール、フォームモジュール、
Thisworkbookのモジュール、各シートのモジュール)であれば、
Property Get Letを記述することは、独自のプロパティを作成することを意味します。
例えば、Thisworkbookのモジュールに
'=====================
private b as long
property let aaa(a as long)
b=a
end sub
と記述すれば、
thisworkbook.aaa=5
とThisworkbookにプロパティが追加されます。
同じようにユーザーフォームのモジュールにもProperty Let Getは記述できます。
>>> CommandButton1.Enabled = False
>> CommandButton1.Enabled = True
>'CommandButton1.Enabled をFalseにしたあとすぐにTrueにしている部分が
> なかなか理解できなくて・・・(ちなみに、Falseにしている行をコメント
> にしても動作はOKでした)
>>End Property
これは、Textbox1で正しく数字が入力され、Enterキーを押すと、
Textbox2、または、Textbox3にフォーカスが移りますよね?
この時、再度Textbox1にマウスで移動しようとした時、
>>> CommandButton1.Enabled = False
>> CommandButton1.Enabled = True
この記述がないと、コマンドボタンにフォーカスが移ってしまいます。
(Excel2002 SP3で確認しました)
これを是正するためにコードを入れました。
確認してください。
|
|