我主要正在从事将 Excel 2003 迁移到 Excel 2010 的项目。
我遇到的一个常见问题是错误消息:无法编译隐藏模块。
为了了解问题的根本原因,我想知道 Excel 2003 中的 VBA 是哪个版本,以及 Excel 2010 中对其进行了哪些更改。
有一个类似问题在 SO 中,但没有涵盖 Excel 2003
答案1
要确定 Excel 2003 的 VBA 类型,请进入编辑器,选择“帮助”->“关于 Microsoft Visual Basic...”
在我的计算机上,它列出了带有 VBA 6.5 的 Excel 2003。更改解释如下这里。我看到的主要区别是任何 (x86) API 调用可能需要以不同的方式形成。
根据我迁移到 Excel 2010 的经验,我没有遇到将旧代码迁移到新版本的兼容性问题。所有问题都来自缺少引用。
确保解锁 VBA,并查看测试机器上是否有任何缺失的引用。希望这是你唯一的问题。
祝你好运。