【发布时间】:2019-11-14 22:47:27
【问题描述】:
我使用的是 Excel 2013。VBA 引用是 Excel (built-in) 的一部分,因此我无法删除它。
是否可以引用另一个版本的 VBA 库?除了好奇之外,我想知道的原因是查看旧版本的对象浏览器,看看它是否列出了一些当前隐藏/过时的属性/方法,例如Excel.DialogSheet。
Workbook.SheetActivate event 有一个 Object 类型的 Sh 参数。其中一种可能的工作表类型是Excel.DialogSheet,其中should be checked with the TypeOf operator。
当我尝试添加另一个 VBA 引用时,我收到消息:Name conflicts with existing module, project, or object library。
使用的默认来自:
- C:\Program Files\Common Files\Microsoft Shared\VBA\VBA7.1\VBE7.DLL
其他参考资料来自:
- C:\Windows\System32\msvbvm60.dll
- C:\WINDOWS\system32\VEN2232.OLB
我还检查了另一台使用 Excel 2003 的计算机:
- C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6.DLL
并且有:
- C:\WINDOWS\system32\VEN2232.OLB
- C:\WINDOWS\system32\MSVBM50.DLL
- C:\WINDOWS\system32\MSVBM60.DLL
- C:\WINDOWS\system32\VBAEND32.OLB
【问题讨论】:
-
有趣的问题(截至昨天,您获得了 10 个代表点)。务实的解决方案:找一个朋友,他的地下室里有一台旧的、没用过的机器在苦苦挣扎?我想在您当前的机器上正确获取所有依赖项将是严重的 DLL 地狱。
-
@JohnColeman 我注意到了blog,但还没有完整地阅读它,这很好。下面的解决方案对我来说是理想的,我不想搞乱编辑 DLL。虽然如果有人确实知道仍然引用它的方法(最好是实用的解决方案),那么我仍然会支持答案。
标签: excel vba excel-2013