【问题标题】:VBA - How to auto update Microsoft Office Object LibraryVBA - 如何自动更新 Microsoft Office 对象库
【发布时间】:2017-11-27 18:10:57
【问题描述】:

我使用Microsoft Office 16.0 Object Library 编写了一些 VBA 代码。当我将文件传递给在Microsoft Office 14.0 Object Library 上运行的另一个用户时。触发该功能后,将出现错误cannot find project and library

如何将使用低版本 Microsoft Office 对象库的用户自动更新到与我相同的版本?

我的参考

用户 2 参考

【问题讨论】:

  • 您无法将他们的更新为您的。您需要找到他们正在使用的版本并使用适当的参考。后期绑定通常是我避免这种版本依赖的偏好。您正在考虑的方法(相反,即降级到适当的参考)将需要另一个步骤。它还需要删除缺少的参考。
  • 查看此处删除缺少的参考资料social.msdn.microsoft.com/Forums/sqlserver/en-US/…
  • 查看此处以使用Application.Version 检查版本:excel.tips.net/… 并查看此处以编程方式添加参考:stackoverflow.com/questions/9879825/…
  • 如果您有对 Excel 版本敏感的对象和属性,您需要为此进行逻辑编码。为用户提供对象库文件不会自动使他们的 Excel 安装使用 2010 年不可用的功能。
  • 这是唯一的MISSING: 参考,这就是导致您提到的运行时问题的原因。您可以在图片中看到 Office 参考已经更新得很好。

标签: vba excel


【解决方案1】:

这是一个很好的信息来源:

Use Excel with earlier versions of Excel

就个人而言,我会在 auto_open 中 check the users' version number,然后根据需要 add/remove 引用。更多herehere

其他选项

  • 获取用户版本的 Office 对象库的副本并将其作为参考添加到您的计算机上,并在需要保存以分发时取消选中 16.0。
  • 在您的计算机上安装 Excel 2010 作为第二个版本,并根据需要进行切换。
  • 将所有用户升级到 Office 2016

...或者,有没有 I.T.这个工作场所的部门?

  • 听起来像是 I.T. 的问题。开一张票。 :-)

【讨论】:

  • 感谢您的回答,但@Rory 有一个更简单的解决方案。但是,我仍然会添加您的建议,因为它将与多个用户共享。只是为了得到双重保护:)
  • 我很高兴你明白了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-09
  • 1970-01-01
  • 2012-06-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多