【问题标题】:Office 2016 -> 2013 "compile error, can't find project or library"Office 2016 -> 2013“编译错误,找不到项目或库”
【发布时间】:2015-09-24 14:55:41
【问题描述】:

我刚刚升级到 Office 2016,我的大多数用户都没有这样做,当用户尝试运行我的脚本时,我遇到了一个新错误。

“编译错误,找不到项目或库”

我查看了参考资料,它似乎在尝试参考“Microsoft Word 16.0 对象库”,但在运行 Office 2013 的机器上却没有它。我没有看到将参考资料更改为 2013 版本的选项,并且我不知道如何在不升级所有人的情况下让我的用户访问 2016 参考(现在不是一个选项)。

此错误出现在第一行可执行代码

Set app = Range("A2")

【问题讨论】:

  • 如果您需要支持多个版本,您需要删除引用并后期绑定您的代码。

标签: excel office365 vba


【解决方案1】:

您需要包含 Excel 15.0 对象库才能像这样使用 Excel.Range("A2") 或使用后期绑定,如下所示:

  Dim excelApp As object, r as object
  Set excelApp = CreateObject("Excel.Application")
  Set r = excelApp.Range("A2")

【讨论】:

    【解决方案2】:

    VBA 项目引用 Office 应用的 Office 文档也适用于更高版本的 Office。当您在更高版本上打开它们时,它们似乎会引用该更高版本。

    但是,如果您使用更高版本的 Office 保存此类文件,然后使用原始 Office 版本打开它,您将拥有 MISSING: 对文件所属之外的任何 Office 应用程序的引用。
    也就是说,如果你有一个引用 Excel 和 Word 的 Excel 文件,在 Office 2016 下重新保存,然后在 Office 2013 中打开,对 Excel 的引用就可以了,但对 Word 的引用将是 MISSING:

    为避免这种情况,请始终将文件保存在您支持的最早的 Office 版本下,或者完全删除对其他 Office 应用的引用并使用late binding 调用它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-07
      • 1970-01-01
      • 2017-01-06
      • 2015-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多