私はExcel 2007でvbaを使用しており、クラスモジュールのコードを記述しています。Let/Get Propertiesのオプションのパラメータはどのように機能しますか?
1)は、次のコードでも可能ですか?...
は基本的に私は2つの列挙型を持って、彼らにeDATASET
とeDATATSUBSET
を呼び出します。 eDATASET
からの特定の値は、Let
プロパティのオプションで渡されたパラメータからの割り当てをトリガーする必要があります。このような何か:オブジェクトを呼び出すときに、私も書き込み可能なプロパティに任意のパラメータを渡すにはどうすればよい
Public Property Let foo(Optional ByVal lngSubSet as eDATASUBSET, _
ByVal lngSuperSet as eDATASET)
Select Case lngSuperSet
Case eDATASET.abc, eDATASET.def
mlngBar = lngSuperSet
Case eDATASET.xyz
'// if lngSubSet not passed, trigger error code...
mlngBar = lngSubSet
End Select
End Property
2)... Optional
パラメータの一見後方配置とは別に
は(オプションと比較関数とサブのパラメータ)、この機能に関するドキュメントを見つけるのが難しいです。 vbaのヘルプには次のように書かれています。
オプション。引数が不要であることを示します。使用する場合、引き続きarglist内のすべての引数はオプションでなければならず、オプションキーワードを使用して宣言する必要があります。 Property Let式の右側がオプションではないことに注意してください。
および以下からvbusers.com。どちらも使い方については説明しません。だから私は、コードモジュールからオブジェクトを呼び出すオプションパラメータ... oObj.foo = ???
3を渡すだろうか)これを行うには良い方法はありますか?...
は、私は(OOPの基本的な理解を持っています少なくともvbaでどのように実装されているか)。条件付きでオブジェクトにパラメータを受け入れるより良い方法はありますか?
[VBAクラスモジュールのプロパティを許可する - 複数の引数を持つことは可能ですか?](http:// stackoverflow。com/questions/13823367/let-property-of-vba-class-modules-it-able-to-multiple-arguments) –