【问题标题】:Object Library Invalid error in Excel 2013Excel 2013 中的对象库无效错误
【发布时间】:2015-10-09 04:47:51
【问题描述】:

我正在尝试运行使用 Excel 2010 开发的 Excel 宏。它在安装 Office 2013 之前运行良好。安装 Office 2013 后,我收到此编译器错误:

“隐藏模块中的编译器错误:modFunc。此错误通常发生在代码与此应用程序的版本、平台或架构不兼容时。”

由于 VBA 项目较早被锁定,因此我“取消保护/解锁”该项目。 在此之后我开始收到此错误:

“未找到方法或数据成员”

我在我的模块中添加了这段代码:

#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

现在当我编译 VBA 项目时,我得到这个编译错误:

“对象库无效或包含对无法找到的对象定义的引用”

项目中的以下引用:

  1. Visual Basic for Applications。
  2. Microsoft Excel 15.0 对象库。
  3. Microsoft Forms 2.0 对象库。
  4. Microsoft Office 15.0 对象库。
  5. OLE 自动化

我已经尝试删除DEL /S /A:H /A:-H *.EXD 的所有.exd 文件。 还尝试注销和注册“mscomctl.ocx”。

这些解决方案似乎都不适合我。 这个宏在一些机器上运行良好,但在其他机器上却不行。

我已经收到“对象库无效”错误有一段时间了。

有人对此有解决方案吗?

【问题讨论】:

  • 您在用户窗体上有哪些控件,您使用的是 64 位 Office?
  • @Rory:我使用的是 32 位办公室。该项目没有任何用户表单。
  • 为什么要引用 MSForms 呢?
  • @Rory:工作表中使用了一些 Button、Dropdown 控件。
  • 这些是唯一的控件类型吗?另外,您确定在所有 Office 应用程序关闭的情况下删除了 所有 C 盘上的 .exd 文件吗?

标签: vba excel excel-2013


【解决方案1】:

我收到了类似的错误。 一些文件最初是在 Office 2007 中制作的,但在 Office 2013 中出现宏错误。

最简单的转变是在 office 2010 中打开,保存然后在 office 2013 中打开。

它适用于我的 10 个不同文件,这些文件最初被拒绝在 Office 2013 中打开

【讨论】:

  • 您的答案似乎只适用于宏是为 Office 2007 编写的,但此处的宏是在 Office 2010 中开发的。
猜你喜欢
  • 2014-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多