一、 什么是VBA和宏
VBA是一种强大的开发技术,它能快速定制富客户端(即用XML替代传统的HTML作为服务器端返回给客户端的数据载体)桌面被包装的程序,以及将它们与已存在的数据和系统整合在一起。VBA提供了一组基于VB开发系统的高级编程工具,开发者能够使用它们来利用被包装的应用程序。VBA能够使用户购买直接使用(或买来后只须经过简单的培训或阅读说明书自我培训)的软件,并能定制它以满足用户特定的商业流程,而不是从零开始创建解决方案。这帮助他们节省了时间和费用、降低了风险、提升了他们的编程技术、以及精确地提供用户所需要的功能。
VBA提供了一个完整的开发环境(IDE),对于使用VB的开发者来说,它们有着相同的元素和功能,包括一个工程窗口、一个属性窗口和调试工具。VBA也支持窗体、创建自定义对话框和ActiveX、以及快速创建用户界面。通过直接整合到宿主应用程序中,VBA提供了一些优势:快速、在过程中执行、与宿主应用程序紧密整合(代码在文档、单元格等之后)、以及不需要运用其它工具创建解决方案的能力。
包含VBA的软件程序称作可定制的应用程序,即应用程序能被定制以满足特定的商业需要。这类应用程序能使开发者快速创建解决方案,并且只需对最终用户进行较少的培训。对于MI
S和商业管理者来说,定制意味着能迅速地开发解决方案并容易推广应用,这与用大量的时间开发新的应用程序和高昂的最终用户培训费用相比,这些解决方案在投资回报和省时方面提供了非常大的商业利益。
而我们常说的宏是一个指令序列,可以自动执行和完成Excel的某些功能,或使Excel已存在的功能增强,从而提高用户的工作效率、减少差错。而创建宏所使用的脚本语言就是VBA,可以使用VBA创建宏代码,让Excel完成更多的任务。
三、VBA的优势
正在增加的能使用VBA应用程序的数量提供给开发者更多的应用程序定制和整合的机会,使他们能减少在培训方面的投资并提升vba编程技巧VB方面的知识。最终,这些开发者有益于扩展到组织内部,并且选择能使用VBA的应用程序的用户超过从零开始创建解决方案的用户。更多的好处概述如下:
ISVs(独立软件提供商)的好处
(1)完整且优秀的技术
许可VBA能使ISVs集中于他们的核心能力,而不是在语言开发。这能使他们提供给用户一个优秀的开发环境,也意味着ISVs不必用不同的工具和语言创建专有的技术。
(2)竞争优势
VBAISVs提供了竞争上的优势,他们为用户设法提供完全的定制和整合能力。能使用VBA的产品,ISVs可以创建扩充功能到他们的核心产品中,并且为用户提供了定制应用程序和添加功能和函数的技术以满足他们的需求。
(3)精简和扩充应用程序
VBA提供给ISVs一种直接创建基于VBA的向导到他们的产品中,以告诉用户是执行简单的或复杂的操作。在产品发布之后,VBA能使ISVs对他们的核心程序提供基于网络更新,在产品间传递新的功能和函数。
(4)宏记录
使用VBA和宏记录,ISVs能为最终用户自动完成重复性的工作任务提供一种简单的方式,并且也提供给开发者一种学习应用程序编程模型的简单的方法。
(5)一个极大的开发体
通过许可VBAISVs能利用数百万已经熟悉VB编程技术的开发者优势,他们能使用ISV已包装的应用程序作为开发平台。ISVs也能利用已经在VB方面的巨大的基础优势:
培训条件;支持中心;书籍和杂志;会议(研讨会)事件;商业展示;成千
上万的ActiveX控件;Web站点
ISVs投入VBA能扩展他们的应用程序和提供工具以满足用户特定的需要。能使用VBA的产品通过提供内置的定制技术,使用户购买一个买和定制的选择去建立应用程序。
对开发者的好处
(1)每个VBA宿主应用程序通过一个对象模型开发它的功能,扩展基于ActiveX组件为开发者利用以创建成批的用户解决方案。
(2)开发者能更适应市场,因为他们能在许多应用程序中运用他们的技术。有助于开发者在各种应用程序中只使用一种语言,只需了解该应用程序的对象模型。
(3)复用代码的能力是一个优势,因为相同的VB能在任何地方使用。
(4)VBA能够使得应用程序定制以提供满足用户需求的解决方案。
(5)随着正增长的可利用的能使用VBA的应用程序,开发者现在能整合这些应用程序,以更容易和紧密地共享数据和信息。
(6)可能最明显的是,VBA能使开发者创建以前被禁止的解决方案,因为现在通过整合不同的应用程序或不同的售买者,一些函数或功能是可共用的。
跨越一组更广范围的应用程序范围使用VBA,开发者能定制并整合商业应用程序,并提升
他们已有的技术。
MIS管理者的好处
(1)开发者能遍及大范围的应用程序以运用他们的知识。
(2)MIS管理者能选择买程序代替创建程序,并能使应用程序定制以满足特定的商业需求。
(3)MIS管理者能通过利用在VB方面巨大数量的熟练开发者适应变化资源需求。
(4)通过代码复用能缩减应用程序最终用户的工作积压,产生更快的反应。
(5)开发者容易在跨开发项目间转换。
VBA通过缩减所需要对开发者进行培训的开发环境或语言的数量,也能在帮助MIS管理者和他们的公司在降低培训费用方面起很大的作用。
对基于应用程序解决方案的最终用户的好处
(1)解决方案执行得更快速,这归功于在VBA和宿主应用程序间的紧密整合。
(2)解决方案看起来和工作时就像已经知道的应用程序一样,因此,很少需要再培训。
(3)用户能定制解决方案,例如,关于打印选项或者创建询问。
(4)在解决方案设计过程中,有更多的方式——用户能创建他们想自动生成的输出、报告和文档。
综上,用户将从所提供的解决方案质量和自定义函数中受益。现今,他们所使用的应用程序已包含了丰富的函数和紧密的整合,并能定制以使他们满足用户需求。
四、VBA与其它的Microsoft开发工具
Microsoft针对不同的开发者提供了许多开发工具,包括Microsoft Visual C#Microsoft Visual C++Microsoft Visual J++、和Microsoft Visual FoxPro开发系统;Microsoft Office开发者;Visual Basic家族;Visual Basic .NETVisual Basic for Applications(VBA)Visual Basic Scripting Edition (VBScript)。诸如Visual C#Visual C++Visual J++Visual FoxProVisual Basic编程系统等工具支持从零创建解决方案以满足高端特定的市场需求的开发者。Microsoft Office开发者和Visual Basic for Applications(VBA)支持选择购买并定制所包装的应用程序而不是从零开始创建的那些开发者,购买并定制直接使用的软件比从零开始创建解决方案缩短开发的费用和时间。Visual Basic家族被设计成能够提供强大的编程能力,且易于学习和使用的编程语言。
Visual Basic家族的每个成员都有特定的用途。VBScript被设计成为低内存环境提供轻便的脚本功能,诸如Web浏览器,最常用的是创建HTML网络页面,没有IDEVisual Basic
创建独立软件组件的世界上最流行的快速应用程序开发工具,包括可执行程序、ActiveX控件和COM组件。最后,Visual Basic for Applications(VBA)是在一个已存在的应用程序中提供与Visual Basic编程系统相同功能的强大的开发工具,能够自动完成、定制和整合应用程序,它是某软件已满足大多数需要的功能后需要再定制该软件的最佳选择。
VBVBA
VBVBA的开发环境相似,都源于Basic,所包含的对象级相同,即VB所支持对象的多数属性和方法,VBA也支持,只是在事件或属性的特定名称方面稍有差异。VBVBA的不同在于不能在一个环境中独立运行VBA,也不能使用它创建独立的应用程序,但VBA是一种完整的程序设计语言,可与那些和它集成的应用程序一起使用,它需要宿主应用程序支持,提供集成开发环境,并对宿主应用程序所包含的对象进行操作以定制应用程序。可以对宿主应用程序的界面进行改善,或者在启动宿主应用程序时隐藏宿主应用程序而显示用户窗体,好像是一个新的应用程序一样,这就是所谓的封装
五、VBA编程语言

1VBA可完成的主要任务
(1)创建代码中的OLE(ActiveX)对象的实例
(2)创建类
(3)链接到像AccessSQL Server这样的ODBC数据库
(4)MAPI结合,创建强大的应用程序
(5)InternetIntranet结合创建解决方案
(6)创建自定义对话框和窗体
(7)Windows注册表中存取数据
(8)检查和处理错误
(9)ActiveX控件引入到应用程序接口中
(10)以最少的编程量和处理时间在启用VBA的应用程序间传递数据
(11)在启用VBA的应用程序中启动另一个启用VBA的应用程序
(12)接制Office应用程序
(13)使任何可以通过键盘、鼠标或者菜单完成的工作自动进行
2、对象模型
VBA是一种语言,但对于不同的应用程序用VBA所编写的程序代码可能截然不同,这是因
VBA是与应用程序的对象模型对接的,在多数情况下编写的代码所引用的对象会因为宿主应用程序的不同而不同。被引用的对象模型是创建基于VBA的程序的不可缺少的部分,对象模型指明了可以控制的应用程序和功能,这样就能利用VBA访问和改变对象模型的属性值、处理对象模型中的对象所触发的事件并调用对象的方法。
所有的VBA对象模型都有三类成员,即方法、属性和事件。在早期Excel版本中可用的事件有Click(单击)Show(显示)Change(变化)事件,现在的Excel版本中的事件已经被扩充,新的事件如ActivateBeforeDoubleClickSheetChangeOpenWindowActivateMouseUpMouseDownCalculate等。
3、程序结构
任何VBA的程序都包含有代码模块、用户界面和类。在此不再详述。
VBA语言也有自已支持的变量和数据类型,此外,所引入的类模块和自动化极大地扩展了其应用。
VBA是一种高级语言,最初由语句组成,不断更新的版本中又引入了函数,然后又引入了对象模型。
4VBA语言元素
VBA语言元素可以划分为四个部分:语句、函数、运算符和对象模型。语句构成了语言的基础;函数一般具有返回值,与语句相比有很多优点;运算符用于连接一个或多个语言元素或者形成表达式完成一些运算;对象模型提供了附加的功能并扩展了语言。
六、ExcelVBA及其作用

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。