2
我來自C++世界,我正在通過VBA類的第一步。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中可以實現的那樣? 非常感謝。
一個提示 - 你可以使一個方法/屬性默認一個,這是我可以建議的唯一想法。在這種情況下,你的代碼的最後一行代碼將會是相同的...... – 2013-04-20 20:54:18
在編輯器中設置VBA中的默認成員是不可能的,你必須按照這裏所述做一些魔術 - http:// www.cpearson.com/excel/DefaultMember.aspx – 2013-04-21 03:00:50