我在程序的特定子內創建了「Dog」類的實例「Lassie」。我也給了它一些有用的屬性,例如Lassie.Age = 7和Lassie.HeelCapability = False。VBA [classes] - 如何訪問另一個子類中以前實例化的類
現在我想訪問另一個 sub並將Lassie.HeelCapability更改爲True。 我該如何去定義這個新子中的實例「Lassie」,以便它可以使用?
所有我來翻過的代碼是這樣的:
Dim Lassie As classDog
Set Lassie = New classDog
基本上我所尋找的是導入現有實例「靈犬萊西」到另一個子的方式,不使用關鍵字「新」從而創建一個新的「Lassie」(沒有以前給出的所有屬性)。
我收到的錯誤消息告訴我「需要對象」或「對象變量或塊變量未設置」。
當然有一種方法可以做到這一點。
在此先感謝。
對於新的VBA程序員問題的大部分正確答案+1。不過,我編輯了你的答案。對於對象引用,當涉及到對基礎對象所做的更改時,是否傳遞它們「ByVal」或「ByRef」並不重要。 'OtherSub'可以改變它傳遞的'classDog'的實例,即使它傳遞了'ByVal'。在這種情況下,'ByVal'會做的是防止'OtherSub'將'參數'設置爲'classDog'的另一個實例。 – jtolle
@jtolle感謝您的澄清。你每天學習新的東西 :) –