列出 VBA 2003 中类的属性

2023-12-29

我到处搜索,看看这个问题是否有一个简单的答案,但似乎没有......

我正在使用 Excel VBA 2003(是的,我知道它已经过时,但我无法更改它),我想要做的就是列出给定自定义类中所有可读属性的名称和值。

我想做这样的事情:

类定义(对于名为 cFooBar 的类)

Option Explicit

Private pFoo As String
Private pBar As String

Public Property Get Foo() As String
Foo=pFoo
End Property

Public Property Get Bar() As String
Bar=pBar
End Property

调用代码

Dim myFooBar as cFooBar, P as Property
myFooBar=new cFooBar
For Each P in myFooBar.Properties
Debug.Print P.Name, P.Value
Next

当然,这是行不通的,因为似乎没有自定义类的“Properties”集合成员(或者至少没有您可以获得的成员),并且也没有“Property”类型。

有人知道解决这个问题的方法吗?

TIA,

Campbell


正如 John 上面提到的,VBA 不支持反射。这是我之前使用过的一个技巧。基本上,您可以创建一个 Collection 或 Dictionary 对象来按名称存储您的“属性”。

Option Explicit

Private pProperties As Object

Public Property Get Properties() As Object
    Set Properties=pProperties
End Property

Public Property Let Properties(p as Object) 
    Set pProperties = p
End Property


Sub Class_Initialize()
    Set pProperties = CreateObject("Scripting.Dictionary")

    'Add/instantiate your properties here
    pProperties("foo") = "this is foo"
    pProperties("bar") = "this is bar"


End Sub

调用代码

Dim myFooBar As New cFooBar, P As Variant

For Each P In myFooBar.Properties.Keys()
    Debug.Print P, myFooBar.Properties(P)
Next
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

列出 VBA 2003 中类的属性 的相关文章

  • 如何使用 Nodejs 创建 Excel 文件?

    我是一名 Nodejs 程序员 现在我有一个数据表 我想将其保存为 Excel 文件格式 我该怎么做呢 我找到了一些 Node 库 但其中大多数是 Excel 解析器而不是 Excel 编写器 我使用的是 Linux 服务器 因此需要一些可
  • 合并和颜色样式不适用于 Apache POI excel 2003 格式

    在 Apache POI 中 我为某些单元格应用了一些样式并合并了这些单元格 当我在 2010 年或 2007 年打开时 它工作正常 但在 2003 年 格式样式消失了 每次保存 2003 Excel 文件之前都会弹出兼容性检查对话框 请参
  • 如何让VLOOKUP在VBA中选择到最低行?

    希望自动在单元格中插入 VLOOKUP 公式 录制宏时 我指示它使用相同的公式填充下面的列 效果很好 但是 当 VLOOKUP 搜索的表发生变化 更多或更少的行 时 就会出现问题 在记录时 VLOOKUP 下降到表中的最后一行 273 但是
  • VBA 中的多线程

    这里有人知道如何让VBA运行多线程吗 我正在使用 Excel 无法用 VBA 本地完成 VBA 构建在单线程单元中 获得多个线程的唯一方法是使用 VBA 之外的其他具有 COM 接口的东西构建 DLL 并从 VBA 调用它 信息 OLE 线
  • 如何找到特定程序的安装目录?

    我已经成功地编写了一些用于工作的 VBA 宏 这些宏基本上创建了一个数据文件 将其提供给一个程序并对该程序的输出进行后处理 我的问题是程序安装路径是硬编码在宏中的 并且安装在我同事的计算机上可能会有所不同 我首先想到的是 我可以从每个人那里
  • 使用 ObjPtr(Me) 返回自定义类实例的名称?

    我明白那个ObjPtr http support microsoft com kb 199824将返回内存中对象的地址 并且它指向一个名为 IUNKNOWN 的结构 并且其中编码了某种接口定义以公开对象结构 但我不知道如何确定一个对象的接口
  • 将属性标记中的值提交到操作表单

    The JSP
  • VBA 中 AND 函数如何工作?

    如果这是一个愚蠢的问题 我很抱歉 但是 Excel VBA AND 函数是否检查其中的每个条件然后继续 或者在第一个 FALSE 条件处停止而不检查其他条件 我想知道出于优化目的 但到目前为止在网上没有找到任何相关信息 提前致谢 示例 如果
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • VBA ByRef 参数类型不匹配

    最初在我的主代码部分中 我有一个丑陋的 if 语句 尽管它会运行丑陋 我决定将其设为我要调用的函数 这导致我收到错误 编译错误 ByRef 参数类型不匹配 我的假设是该函数需要正确引用 尽管我一直在阅读文档并且不明白为什么 gt 声明 Sh
  • 如何在Power Query中对N列求和

    我的数据每月都会更新 因此我尝试创建一个强大的查询表 该表将显示我创建的枢转 N 列的总和 但我似乎不知道如何在强大的查询中执行此操作 我目前有这个代码 旋转后 创建要求和的列的列表 添加索引列以限制每行 添加一列 该列对该行的列进行求和
  • 使用输入作为显示日期的基础

    我需要一种方法来使用用户窗体上的输入来确定将在输出上显示的日期 这是我的代码 If StatusBox Value lt 23 59 And ShiftCode Value AP Then Cells emptyRow 8 Value Da
  • 在 PYTHON 中读取 EXCEL 时,“utf-16-le”编解码器无法解码字节

    我正在尝试读取不同语言 阿拉伯语 希腊语 意大利语 希伯来语等 的各种数量的 xls 文件 当我尝试调用 open workbook 函数时 出现如下所示的错误 不知道如何将格式设置为任何语言 Code book xlrd open wor
  • Android Excel CSV 的 MIME 数据类型是什么?

    我尝试了 text csv 甚至 application vnd ms excel 但 Excel 不会显示在选择列表中 很多其他应用程序也可以 void shareCsv Uri uri Context context Intent in
  • SQL Excel VBA 运行时错误 3709 无效连接

    这是我的第一个问题 欢迎提出建设性的批评 我正在尝试从 Excel VBA 查询 Access 数据库并将返回信息放入 Excel 范围中 我收到此错误 错误消息 运行时错误 3709 连接无法用于 执行此操作 在此情况下它已关闭或无效 语
  • 如何使用 VBA 添加 MS Outlook 提醒事件处理程序

    我想扩展 MS Outlook 以便当弹出日历提醒时 我可以运行一个可以运行外部程序 如批处理脚本 的 VBA 挂钩 就我而言 我想将提醒 转发 到 Linux 桌面 因为我在这两种环境中工作 并且 Windows 桌面并不总是可见 我看到
  • 从 Robot Framework 访问 python 类的变量

    我有一个 python 文件 例如 Animals py 在里面我定义了 3 个不同的类 如下所示 Animals py class Animal listAnimal dog cat lt def init self Animal con
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • 使用PHP从doc、xls文件中读取数据

    我想知道是否可以从 doc 和 xls 文件中读取数据并将 将内容读取到图像文件中 创建文档的页面样本 例如 我有一些文件希望我的客户购买 所以我需要自动创建小图像 例如我的文档样本 我们将不胜感激您的帮助 对于读取 xls 文件 我真的推
  • 如何使用vba复制Excel工作表中的动态范围

    我试图使宏中的范围是动态的 而不指定最后一行x Sheets SheetName Range A2 K1000 Copy在 1000 行中 我想将其更改为动态 因为有时我的数量会更少或更多 尝试这个 Sub Test Dim lRow as

随机推荐

  • 如何以编程方式启用 LAN 唤醒

    有没有办法以编程方式进入 BIOS 并为支持 LAN 唤醒功能的计算机打开该功能 理想情况下 解决方案应该是跨 BIOS 的 但使用单独的解决方案来打击每个主要供应商也是可以的 BIOS 配置是操作系统有意限制的内容 以避免病毒问题 以前有
  • 通过外部“C”链接解决重载问题

    在混合 C C 项目中 我们需要从 C 调用 C 函数 要调用的函数被重载为三个单独的函数 但我们可以从 C 端忽略这一点 我们只需选择最合适的一个并坚持使用该函数 有两种方法可以做到这一点 1 编写一个带有 extern C 函数的小型
  • 升级到 2.4.0 后,Spring Cloud 配置客户端无法从配置服务器获取/加载配置文件

    弹簧云配置客户端无法从中读取配置文件弹簧云配置服务器升级到后2 4 0使用 spring cloud 版本2020 0 0 M6 从 spring boot 2 4 0 版本开始 默认不启用 bootstrapping 需要在你的应用程序中
  • 在 Mac 10.9.2 上安装 WordNet

    我正在尝试在 Mac 操作系统 10 9 2 上安装 WordNet 我尝试过以下方法 配置 make 但期间make我遇到了一些错误 然后我安装了XQuartz 2 7 5 我仍然遇到一些错误make 接下来 我安装了 Xcode 但这仍
  • VHDL-读取HEX文件

    In VHDL 从 HEX 文件初始化 std logic vector 数组 https stackoverflow com questions 20164216 vhdl init std logic vector array from
  • 为什么我们不应该在java中使用受保护的静态

    我正在经历这个问题Java中有没有办法覆盖类变量 https stackoverflow com questions 685300 is there a way to override class variables in java 首先c
  • ListView 项目上的删除按钮

    我开始为 UWP 进行开发 我正在尝试创建一个ListView填充有x bind 现在我想在所有单个项目上创建一个按钮来删除它们 类似于 Windows 10 邮件 我已经创建了
  • 使用字符串值作为变量名[重复]

    这个问题在这里已经有答案了 是否可以使用 String 作为变量名 就像这个例子一样 String musicPlaying music2 Music music1 new Music blaalla Music music2 new Mu
  • 在 Firebase 中构建关系

    我的 Firebase 中有两项 providers and services 我正在尝试找出使用 Firebase 推荐的扁平化架构方法构建和建立关系的最佳方法 我的数据看起来像这样 services hip replacement ti
  • 在java 8中是否可以做一个懒惰的groupby,返回一个流?

    我有一些较大的文本文件 我想通过对其行进行分组来处理它们 我尝试使用新的流媒体功能 例如 return FileUtils readLines parallelStream map collect groupingBy pair gt pa
  • 如何使用 exoplayer 横向全屏播放视频

    我正在使用 exoplayer 在我的 Android 应用程序中播放来自 url 的视频 在纵向中 一切都按预期工作 在活动中使用视图页面 片段和选项卡 我的目标是当用户处于横向状态时全屏播放视频 这意味着只有视频将以横向方式播放 所有其
  • 如何在解决方案中的所有项目之间共享 LocalDB 实例?

    我有一个 VS 2012 解决方案设置如下 EF 模型项目 EF模型测试项目 ASP NET MVC 4 应用程序 WCF数据服务项目 在开发过程中 我想使用 LocalDB 作为 EF 的后备数据库 MVC 和 WCF 项目都使用 EF
  • 将图像存储在 MySQL 数据库中

    我想知道如何在 MySQL 数据库中存储图像和文件 我想获得这样的图像和文件www example rsrc php example image jpg Facebook 上的示例 facebook example com rsrc php
  • 在 DataGridViewComboboxColumn 上设置所选项目

    我有一个带有 DataGridViewComboboxColumn 列的 datagridview 其中包含 3 个值 小号中号大号 我恢复了用户默认值 在本例中为 中 我想在 datagridview 中显示一个下拉单元格 但默认值为 中
  • spring.jmx.enabled 的确切目的是什么?

    对于 Spring Boot v2 4 2 在通过 JMX 进行监控和管理 https docs spring io spring boot docs current reference html production ready feat
  • 在 PSQL 脚本中使用环境变量

    是否可以在 sql 文件中使用 Linux 环境变量 我正在使用复制 选择查询写入输出文件 并且我想将该目录放入变量中 所以我想做一些类似的事情 COPY SELECT FROM a TO outputdir a csv Outputdir
  • 为动态创建的组件分离 vuex 存储

    这个问题让我有点卡住了 不幸的是 我在这里找不到答案 问也没有帮助 因此 在做了一些研究并到处询问之后 似乎我找到了这个问题的解决方案 如果您有一个已经知道答案的问题 并且您 希望公开记录这些知识 以便其他人 包括你自己 稍后可以找到它 当
  • 从字符串中提取版本号

    我有一个包含组件和版本号的字符串 data c kuh small1 divider bin 1 4 4 divider conf 1 3 3 w 1 16 storage bin 1 5 4 storage conf 1 5 0 w 1
  • 在 R 中,如何在对数据进行聚类后绘制相似度矩阵(如框图)?

    我想生成一个图表 显示聚类数据和相似度矩阵之间的相关性 我怎样才能在 R 中做到这一点 R 中是否有任何函数可以创建像此链接中的图片一样的图形 http bp0 blogger com VCI4AaOLs A SG5H jm f8I AAA
  • 列出 VBA 2003 中类的属性

    我到处搜索 看看这个问题是否有一个简单的答案 但似乎没有 我正在使用 Excel VBA 2003 是的 我知道它已经过时 但我无法更改它 我想要做的就是列出给定自定义类中所有可读属性的名称和值 我想做这样的事情 类定义 对于名为 cFoo