VBA自动类型转换

时间:2013-04-20 20:41:18

标签: vba

我来自一个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中是可以实现的吗? 非常感谢。

1 个答案:

答案 0 :(得分:1)

据我所知,VBA不支持自定义隐式转换,只支持内置转换。但是,你是对的 - 它会很棒。