excel - 如何从 VBA 项目到对象的完全限定名称?
问题描述
如果我同时打开许多宏工作簿......
一些名称如UserForm
,Module
等重叠。如何从 VBA 项目中获得完全限定的名称?
例如:
VBAProject(ThisWorkbook.Name).UserForm1.CommandButton1.Caption
MyNameOfProject(ThisWorkbook.Name).UserForm1.CommandButton1.Caption
当用户重命名工作簿时,项目名称保持不变......理想情况下完全避免工作簿名称,如果可能的话?
例如,在一个工作簿中,有一个模块具有我想从另一个工作簿中使用的功能。总的来说,我希望事情得到控制。尽可能完全合格。
解决方案
当您userform
在同一作品中提及时,您可以使用:
从:
MyNameOfProject(ThisWorkbook.Name).UserForm1.CommandButton1.Caption
至:
UserForm1.CommandButton1.Caption
但是,要从另一个工作簿引用用户表单,请避免这样做......
推荐阅读
- python - 无法摆脱异步循环
- python - 无法在 RHEL 7 上运行 ansible - 未安装 Paramiko
- sql - 为什么我的 SQL 语句找不到与下面的 WHERE 语句匹配?
- amazon-web-services - 对象列表的 AWS CloudWatchMetricStatistic
- javascript - 使用 javascript 中的变量更改元素的 oninput 事件?
- vba - 如何从 VBA 控制新的弹出选项卡
- python - 如何在 Odoo 10 的 GUI 中定义计算字段?
- python - 权限被拒绝:Heroku + Docker + Conda 部署
- java - OutputStream 未转换为字符串变量
- bash - SQLite 使用 bash 脚本从 CSV 导入新表