MS Office VBA 从 2003 到 2010 的变化

Posted

技术标签:

【中文标题】MS Office VBA 从 2003 到 2010 的变化【英文标题】:MS Office VBA changes from 2003 to 2010 【发布时间】:2013-01-03 17:33:32 【问题描述】:

我公司的 IT 部门最终决定从 MS Office 2003 切换到 2010。在我的部门,我们开发了许多在 VBA 上运行的小型应用程序。特别是所有这些都是在 MS Excel 和 MS Access 中编程的。 几周前,我们收到了一台用于测试我们的应用程序的 PC -> 当然,没有任何应用程序真正按照预期的方式运行。

所以我的问题是,是否有任何信息来源可以告知从 Office 2003 到 2007 以及从 2007 到 2010 所做的所有更改 - 特别是关于 VBA 语法和功能。我阅读了一些关于单个更改的内容,但找不到摘要。

非常感谢您的帮助!

【问题讨论】:

在大多数情况下,32 位 Access 2003 mdb 在 MS Access 2010 中应该可以很好地工作,现有应用程序无需转换为 accdb。有哪些问题? 升级时遇到的主要问题是我愚蠢地进行了早期绑定。也许您的大部分问题都可以通过后期绑定来解决? 如果您使用 64 位 office 2k10,您应该注意一些事项; msdn.microsoft.com/en-us/library/… 请注意,任何缺失的引用都会导致奇怪的行为,包括无法识别内置关键字。快速检查引用对话框将显示是否有任何引用被标记为“MISSING:” 【参考方案1】:

VBA 本身的变化很小。 VBA 从版本 6 升级到版本 7,但唯一真正的变化是包含了对 64 位 API 调用的支持。详情请见What are the differences between VBA 6.0 and VBA 7.0?。

但是,Excel、Access、Word、Outlook 等的库(及其关联的对象模型)将发生重大变化。对象模型中发生变化的最佳资源是每个项目的官方 MS 开发人员参考。每个参考文献的开头都包含一个标题为“新功能?”的部分

为方便起见,我将提供您特别提到的链接:

Excel 2007 - What's New? Excel 2010 - What's New? Access 2007 - What's New? Access 2010 - What's New?

【讨论】:

以上是关于MS Office VBA 从 2003 到 2010 的变化的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 2003 - 创建 MDE 文件失败:错误 VBA 已损坏?

尝试Office 2003 VSTO的开发部署

从 VBA (MS-Access) 填写 PDF 表单

MS Office 2003 安装了哪些 Jet 提供程序?

MS Office 2013 - VBA 密码安全 [重复]

从 VBA 代码中转储 MS Access 宏对象信息