![]() |
1
7
与VBA代码本身一样,当用户打开宿主工作簿时,项目引用不会神奇地消失。它们与宿主文档中的代码一起保存。 因此,您的问题的前提是错误的:用户永远不需要调整项目引用。 此外,脚本运行时类型库是标准版本,在本世纪(甚至更早)构建的每台Windows计算机上都提供了完全相同的版本,这意味着除非您的代码需要在Mac上运行,否则无需延迟绑定脚本运行时库。 如果您的代码需要在Mac上运行,那么库不会延迟绑定,因为它在主机上找不到,因此延迟绑定脚本运行时只会导致愚蠢的拼写错误,并引入其他容易避免的错误 有助于预防。
这破坏了后期绑定的全部目的:它使用VBIDE扩展性库(需要较低的宏安全设置)以编程方式添加引用,您可以在设计时通过VBE的 工具 菜单 后期绑定的代码根本不需要引用。不是在编译时,也不是在运行时。
添加引用,保存,然后声明对象
这就是你所需要的。
在这方面,后期绑定与早期绑定没有任何不同。这个
只有
后期绑定代码和早期绑定代码之间的区别是
初始化对象引用的方式对声明的后期/早期绑定性质没有影响。 这将在注册表中查找ProgID以查找库和类型:
这将使用项目引用:
两者都是正确的,并且都将对早期或后期绑定的声明起作用。除此之外,如果您已经有了对类型库的引用,那么实际上不需要访问注册表来定位该库-只要
|
![]() |
2
2
确实不需要全局变量,应该避免全局变量。但是,如果您出于自己的原因决定使用它们,您可以将它们放在
因此,它将在每次打开工作簿时创建对象。 |
![]() |
CPS · 当变量值为空时,在另一个变量中赋值 2 年前 |
![]() |
xris23 · 通过VBA选择命名范围,让用户直接编辑单元格 2 年前 |
![]() |
Stormer · 从Access格式化Excel单元格无效 2 年前 |
![]() |
j johns · 通过VBA将ascii art添加到命令提示符 2 年前 |
![]() |
BinaryCat · Excel-将单元格转换为具有成对数据的行 2 年前 |
![]() |
Waleed · 以下拆分函数的(0)表示什么? 2 年前 |
![]() |
smrmodel78 · VBA创建表格未选择正确的范围 2 年前 |