在VBA中使用Class模塊時,如果在其前面使用Me
時撥打Private Sub
的呼叫將失敗,但是Public Sub
的呼叫是否正常?爲什麼使用`Me`時對Class Module Private Subs的調用失敗?
例如,下面的代碼(不是完整的類模塊,只是一個snippit)會生成錯誤Method or data member not found
或行Call Me.SetupQuote
。
但是,如果我使SetupQuote()
a Public Sub
一切正常。當一個類模塊正在從內部調用時,它是公共還是私人應該無關緊要?
我知道我可以在不使用Me
的情況下調用Private Sub
,但我想了解爲什麼VBA以這種方式運行。謝謝。
Private Sub Class_Initialize()
Me.QuoteID = 15
Call Me.SetupQuote
End Sub
Private Sub SetupQuote()
Set Quote = New classQuote
Call Quote.SetQuote(Me.QuoteID)
End Sub
感謝您的解釋。 「這只是我猜測爲什麼一個明顯有用的功能不存在。」這說明了這一切 - 這將是有益的,這是一種恥辱,這不是他們的。來自Web編程(PHP)的背景,依賴於在類中引用'this',這只是習慣嘗試使用'Me' –