我正在使用VBA(特别是Microsoft Access VBA)。我已经编写了几个自定义VBA类,并使用VBE的“监 windows 口”在调试期间查看值。我想在.NET语言中创建一个类似于ToString()的函数,它将类的自定义字符串打印到监 windows 口,这样我就不必展开每个子对象。请参阅下面的图像,我想自定义字符串出现.的数据我尝试添加一个名为Value的GET属性,还尝试了一个ToString函数。两个都不管用。有人知道这是否可能吗?注意:我不想做this。
ToString()
Value
ToString
67up9zun1#
创建以下示例类MyClass
MyClass
Option Explicit Property Get MyProperty() As String MyProperty = "Some String" End Property
字符串将其导出为MyClass.cls并在记事本中打开。它看起来像:
MyClass.cls
VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END Attribute VB_Name = "MyClass" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = False Attribute VB_Exposed = False Option Explicit Property Get MyProperty() As String MyProperty = "Some String" End Property
型将Attribute Value.VB_UserMemId = 0添加到MyProperty(),使此属性成为默认属性。
Attribute Value.VB_UserMemId = 0
MyProperty()
VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END Attribute VB_Name = "MyClass" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = False Attribute VB_Exposed = False Option Explicit Property Get MyProperty() As String Attribute Value.VB_UserMemId = 0 MyProperty = "Some String" End Property
型保存文件并导入VB编辑器(不要复制粘贴,使用导入!).行Attribute Value.VB_UserMemId = 0在VBE中不可见。但是如果你现在创建一个类的新示例,你可以调用类本身来访问默认属性:
Option Explicit Public Sub Example() Dim cl As MyClass Set cl = New MyClass Debug.Print cl ' this returns the default property now Stop End Sub
型而且它也会显示在手表窗口中(但遗憾的是它不会在本地窗口中显示值。x1c 0d1x的数据
1条答案
按热度按时间67up9zun1#
创建以下示例类
MyClass
字符串
将其导出为
MyClass.cls
并在记事本中打开。它看起来像:型
将
Attribute Value.VB_UserMemId = 0
添加到MyProperty()
,使此属性成为默认属性。型
保存文件并导入VB编辑器(不要复制粘贴,使用导入!).
行
Attribute Value.VB_UserMemId = 0
在VBE中不可见。但是如果你现在创建一个类的新示例,你可以调用类本身来访问默认属性:型
而且它也会显示在手表窗口中(但遗憾的是它不会在本地窗口中显示值。
x1c 0d1x的数据