首页 > 解决方案 > 库参考问题、VBA Excel 16.0、Project 14.0

问题描述

我的客户最近从 32 位 Excel 2016 迁移到 Office 365 下的 64 位 Excel,并保留了 32 位 MS Project Standard 2010。

我有 MS Project Standard 2010 原生的 VBA 代码,它通过 Excel 16.0 对象库参考的早期绑定来操作 Excel 2016 应用程序。将 Excel 迁移到 Office365 64 位版本后,对它的库引用(在 MS Project Standard 2010 中)不再可用。它不是缺少它只是在列表中不可用。它甚至不会按 GUID 加载。我没有管理员权限,无法检查或编辑注册表。我的 IT 支持人员解释说,问题可能是因为我们混合了 32 位和 64 位应用程序。

我通过将代码从早期绑定转换为后期绑定来解决这个问题。我可能没有掌握所有内容(我在很多应用程序工具中创建了很多代码),我担心我的代码中的某些未正确转换的功能可能有一段时间不会被发现。

我的问题是,Project 2010 应用程序(Project 14.0)是否应该能够引用 Office365 对象库下的 64 位 Excel 16?如果是这样,我的 IT 支持人员应该如何解决问题?

如果答案是否定的,我将只需要坚持后期绑定并进行一些广泛的测试。

标签: excelvbams-project

解决方案


您不能在同一主机中的 64 位库和 32 位库之间进行交叉引用。主机只能使用相同位数的库。在这种情况下,后期绑定对您没有帮助 - 它在版本不匹配的情况下对您有帮助,但在位数不匹配时无济于事。

如果您需要继续在 Project 和 Excel 之间实现自动化,那么您可能需要安装 32 位 Excel,或考虑安装 64 位 Project。第三种选择是使用 VBScript 或 Powershell 并在进程外运行它,但这可能需要大量工作。


推荐阅读