2017-06-22 72 views
-1

我已經使用Get和Let設置了測試類,但是當指定的值不返回時。讀取VBA中的自定義類屬性不起作用

'Set up test class 

Private lTargetName As String 

Public Property Get TargetName() As String 
TargetName = ITargetName 
End Property 

Public Property Let TargetName(value As String) 
lTargetName = value 
End Property 

Sub test() 
Dim sharedColumn As TestClass 
Set sharedColumn = TestClass 

sharedColumn.TargetName = "test" 
Debug.Print sharedColumn.TargetName ' returns blank 
End Sub 
+0

你在哪裏創建實例?我的代碼中沒有看到「New」。 – cyboashu

回答

1

有兩個問題與您的代碼。首先是課堂本身。你的財產獲取分配iTargetName而不是lTargetName。另外,在你的Sub Test中,你並不是新建TestClass。做出這2個改變,你會很開心。

一個建議:將Option顯式放在源文件的頂部以幫助捕獲這些錯誤。

+0

非常棒的布賴恩謝謝你 - 我的本地變量是錯誤的:)現在它的工作原理 –