2

私は C++ の世界から来て、VBA クラスの最初のステップを踏んでいます。

スマートな日付、つまり QDate のクラスがあるとします

 *** Class Module ***
 Option explicit
 Private xDate_ As Date

 Property Let xDate(xVal As Date)
      xDate_ = xVal
 End Property

 Property Get xDate() As Date
     xDate = xDate_
 End Property

 ' ... some nice methods follow here...


 *** non-Class Module *** 
 Public Function makeQDate() As QDate
    Set makeQDate = New QDate
 End Function

サンプルの使用法は

 Dim xQDate as QDate :  xQDate = makeQDate()
 xQDate.xDate = DateSerial(2000,1,1)

最後の行は、C++ で得られるほど適切ではありません。書き込みを可能にする暗黙の変換を作成できれば

 xQDate = DateSerial(2000,1,1)

素晴らしいものになるだろう。そのようなことはVBAで達成できますか?どうもありがとう。

4

1 に答える 1

1

私の知る限り、VBA はカスタムの暗黙的な変換をサポートしておらず、組み込みの変換のみをサポートしています。しかし、その通りです。それは素晴らしいことです。

于 2013-04-20T20:53:48.960 に答える