![Excel 2003 使用哪个版本的 VBA?此版本的 VBA 与 VBA 7.0 有何区别?](https://linux22.com/image/1327333/Excel%202003%20%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E7%89%88%E6%9C%AC%E7%9A%84%20VBA%EF%BC%9F%E6%AD%A4%E7%89%88%E6%9C%AC%E7%9A%84%20VBA%20%E4%B8%8E%20VBA%207.0%20%E6%9C%89%E4%BD%95%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
我主要正在从事将 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,并查看测试机器上是否有任何缺失的引用。希望这是你唯一的问题。
祝你好运。