首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >office 2003和2007的VBA版本有区别吗?

office 2003和2007的VBA版本有区别吗?
EN

Stack Overflow用户
提问于 2009-06-20 13:02:56
回答 3查看 10.8K关注 0票数 7

我可以不受惩罚地使用access 2007 VBA参考(特别是基础语言和旧的com接口)来为access 2003开发基于VBA的解决方案吗?

或者,是否有一些新的/修改的语法添加到语言中,我需要注意?

对象模型在Office2007中是否得到了显著增强?

还有其他注意事项吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-06-20 13:32:21

在Microsoft Office的最新版本之间,VBA语言本身并未更改(将来也可能不会更改)。从Access2000开始,VBA的版本是VBA6。

但是,Office应用程序的对象模型稍有修改。Microsoft通常只通过附加的方法和属性来扩展OM。至于访问,我不能给你任何细节,但你可以在这里找到修改列表:

  • Object Model Changes Since Microsoft Office 2003 (Access Developer Reference)
  • New Objects, Collections, and Enumerations

通常,针对某个Office版本开发的VBA解决方案将适用于较新的版本。不过,问题在于细节。由于错误修复和新功能,应用程序的行为可能与旧版本略有不同。要确定一切是否还在运行,唯一的方法就是进行详尽的测试。

票数 9
EN

Stack Overflow用户

发布于 2010-11-06 12:30:30

Excel2007中有一些新的属性、方法和对象。

但是,Excel2003中的大多数程序在Excel2007中运行良好

VBA Excel2003中有一些东西在Excel2007中不起作用。

我发现了4个问题。

  • "Chart.Add“在Excel2007中给出自动化错误当有超过1个单元格被选中时
  • 错误不要自行重置,有必要在发布错误的命令之前使用Err.clear。

On Error Resume Next Intruction_That_Could_be_buggy_1 if Err.Number <>0 Then Err.Clear‘<<<<==== This command is Resume Intruction_That_Could_be_buggy_2 if Err.Number <>0 Then ....

  • Range(...).Paste(xlFormulas)现在在存在可能的名称冲突时停止,有必要使用Application.displayalerts = False Range(...).Paste(XlFormulas) Application.displayalerts =True

  • 在Excel2007中保留了几个热键,如Alt+N。Application.Onkey("%n","rotina")在这种情况下不起作用。现在,它有许多ALT+Letra样式的功能区快捷方式。我找不到任何方法来抑制这种行为。应该使用其他热键。
票数 3
EN

Stack Overflow用户

发布于 2009-09-23 13:57:47

如果您正在将accdb/mdb编译为accde/mde,则需要确保将它们编译为与主应用程序相同的版本。我在使用Access 2003MDE和Access 2007时遇到了一些问题(显然反之亦然)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1021571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档