Office 2016 - > 2013“编译错误,无法找到项目或库”

时间:2015-09-24 14:55:41

标签: excel-vba office365 vba excel

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

  

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

我查看了引用,看起来它正在尝试引用“Microsoft Word 16.0对象库”,并且在运行Office 2013的计算机上缺少它。我没有看到更改我对2013版本的引用的选项,并且我不知道如何在不升级所有人的情况下让我的用户访问2016参考(现在不是一个选项)。

此错误出现在第一行代码

Set app = Range("A2")

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:4)

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

但是,如果您使用更高版本的Office版本保存此类文件,然后使用原始Office版本打开它,则您将MISSING:引用任何Office文件应用程序,而不是文件所属的那些应用程序。
也就是说,如果您有一个引用Excel和Word的Excel文件,在Office 2016下重新保存,然后在Office 2013中打开,则对Excel的引用将没有问题,但对Word的引用将为MISSING:

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