VB 曝光

控制类的实例化特征。

Attribute VB_Exposed = False

使类 Private。它无法在当前项目之外访问。

Attribute VB_Exposed = True

在项目之外公开类 Publicly。但是,由于在 VBA 中忽略了 VB_Createable,因此无法直接创建类的实例。这相当于以下 VB.Net 类。

Public Class Foo
    Friend Sub New()
    End Sub
End Class    

要从项目外部获取实例,必须公开工厂以创建实例。一种方法是使用常规的 Public 模块。

Public Function CreateFoo() As Foo
    CreateFoo = New Foo
End Function

由于可以从其他项目访问公共模块,因此我们可以创建 Public - Not Createable 类的新实例。