首页 > 解决方案 > 无法锁定私有属性不被访问

问题描述

我有一个ClsSubject具有一组私有属性(名称中带有大写“P”的变量)和字母/设置器对的类。这是代码:

Option Explicit

Private PName As String
Private PStatus As String
Private PINN As String
Private POGRN As String
Private PAddress As String

Property Let Name(val As String)
    PName = val
End Property

Property Get Name() As String
    Name = PName
End Property

Property Let Status(val As String)
    PStatus = val
End Property

Property Get Status() As String
    Status = PStatus
End Property

Property Let INN(val As String)
    PINN = val
End Property

Property Get INN() As String
    INN = PINN
End Property

Property Let OGRN(val As String)
    POGRN = val
End Property

Property Get OGRN() As String
    OGRN = POGRN
End Property

Property Let Address(val As String)
     PAddress = val
End Property

Property Get Address() As String
    Address = PAddress
End Property

这是该类的示例(作为另一个类的一部分)

在此处输入图像描述

显然,我的“私有”变量是可见的,并且可以与字母/设置器一起使用。我也可以直接在即时窗口(如?Lcase.Client.PName. 据我所知,这些数据应该不可用。我究竟做错了什么?

标签: excelvba

解决方案


推荐阅读