模块中的对象从类中看到私有变量

时间:2018-02-24 14:10:53

标签: excel vba excel-vba

我不知道我做错了,但我认为这不正常。 我上课clsPerson

Private pNameFirst As String

Public Property Get NameFirst() As String
     NameFirst = pNameFirst
End Property
Public Property Let NameFirst(sNameFirst As String)
     pNameFirst = sNameFirst
End Property

现在在模块I中有程序test

Sub test()
    Dim Person As New clsPerson

    Person.NameFirst = "test"
End Sub

当我查看Locals并解开Person对象时,我可以看到我的私有变量pNameFirstenter image description here

为什么?

1 个答案:

答案 0 :(得分:1)

本地窗口仍会显示班级中的私有变量。您在模块中可以做的是直接改变私有变量的值。

locals窗口将显示所有声明的变量并忽略范围。

编辑:

请参见此处的进一步讨论:

Should I have to have duplicate values in VBA class objects?