引用 Excel 的 Word 宏在 Office 2007 中有效,但在 2010 中失败

引用 Excel 的 Word 宏在 Office 2007 中有效,但在 2010 中失败

我在 Word 2007 中创建了一个 VBA 宏,它确定 Excel 和特定的 Excel 工作簿是否打开,打开该工作簿(如果需要,还打开 Excel),然后在工作簿中执行各种任务。

在“工具/参考”下,我检查了 Microsoft Word 12.0 对象库、Microsoft Office 12.0 对象库和 Microsoft Excel 12.0 对象库。宏运行得很好。最近我换了一台新电脑和 Office 2010,下面的命令都没有产生结果 - appExcel 仍然没有任何结果。

Set appExcel = GetObject(, "Excel.Application")

Set appExcel = CreateObject("Excel.Application")

我到处寻找关于如何解决此问题的具体信息,但无济于事。我发现各种信息都表明 2007 和 2010 dll 都已注册,或者必要的 dll 未注册,但我找不到有关如何注册或取消注册的说明。我也找不到所涉及的文件名。我希望 Stack Exchange 中的某个人可以提供帮助!

答案1

Dim excelapp As Object
Set excelapp = CreateObject("Excel.Application")

就是您要找的。如果您没有看到,请使用excelapp.visible = true

答案2

尽管Raystafarian 建议的修复方法有帮助,完整的解决方案包括删除以下注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib{00020813-0000-0000-C000-000000000046}\1.8

我现在是一个非常快乐的露营者。

答案3

修复API引用如下:

  1. 在 Excel 中按Alt+F11转到编码窗口
  2. 打开工具菜单并选择参考
  3. 取消Missing:选中列表中的项目
  4. 向下滚动并添加对新版本 Microsoft Word 的引用。

相关内容