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 回答