|
▼TOSHI さん:
こんばんは。
>今、あるユーザー向けのクラスモジュールを作成してます。
>標準モジュールから、そのクラスのインスタンスからメソッドや
>プロパティを参照するのですが、インスタンスの後に"."を記述して
>その後Publicのメソッドやプロパティの一覧が出ますが、この一覧
>に出さずに、直接記述して標準モジュールから参照する方法は有りますで
>しょうか。
へえ、こんなことがVBAで出来るのでしょうかねえ??
私の投稿以降にやり方があったなら、以下の記述は忘れてください。
代替案として、新規ブックにクラスモジュールを二つ作成します
(Class1、Class2)
Class1のモジュールに
'==================================================
Option Explicit
Private cls As Class2
'==================================================
Public Sub Func1()
MsgBox "Func1!"
End Sub
'==================================================
Property Get 隠し() As Object
Set 隠し = cls
End Property
'==================================================
Private Sub Class_Initialize()
Set cls = New Class2
End Sub
'==================================================
Private Sub Class_Terminate()
Set cls = Nothing
End Sub
Class2のモジュールに
'==================================================
Option Explicit
Public Sub Func2()
MsgBox "Func2!"
End Sub
として、
標準モジュールに以下のコードを記述する時、
'=================================================
Option Explicit
Sub test()
Dim クラス As Class1
Set クラス = New Class1
クラス.Func1 'ここでは、Func1はメンバーリストに入っている
クラス.隠し.Func2 'ここでは、「隠し」はリストに表示されるが
' Func2は表示されない
Set クラス = Nothing
End Sub
コードを追ってみて頂ければ、理由は分かると思います。
他に方法がなかったら、これで代替できるか 検討してみてください。
|
|