什么是VBA VBA宏功能介绍

Visual Basic for Applications(VBA)是一种Visual Basic的一种宏语言 , 主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件 。也可说是一种应用程式视觉化的Basic Script 。1994年发行的Excel 5.0版本中,即具备了VBA的宏功能 。
什么是Excel应用程序?利用Excel和VBA为平台 , 开发出来的电子数据表即称Excel应用程序 。
什么是宏?宏是一系列的命令与函数,存储于 Visual Basic 的模块中,并在在需要执行该项任务时可随时运行 。如果经常在重复某项任务,那么可以用宏自动执行该任务 。
上面是VBA的三个概念,那为什么要用VBA?为什么要以Excel为平台来开发程序?
这里说几个简单的理由!
1、当使用Excel为平台时,你的程序就可以利用Excel现有的功能,可以站在一个小巨人的肩膀上,这就可大大减少开发的周期 。
2、几乎所有的电脑中都有Excel,也有大量的人正在使用Excel,但并不是每个人都会使用VBA,当你了解VBA后,以前的很多问题就可能在这就迎韧而解 。
3、Excel开发程序分发很容易,只要电脑中有Excel,基本不需要在其它的文件,简简单单的复制与粘贴 , 就完成了文件的分发 。
4、VBA的语言是相对容易学的语言,很容易上手,如果你熟悉VB,那你发现它们在语言方面是相通的,而如果你对Excel比较了解 , 那你也就很容易理解Excel的各种对象了 。
最后,任何东西都不是万能的Excel与VBA也是一样 。
如,Excel是一个电子表格程序,如果你把它强加成数据库软件是不公平的,在处理较少的数据,比如几千行的,用Excel是比较理想的,而大量的数据时,你就应该考虑用数据库了,比如Microsoft Office中的Access等,或者将两个相结合 。
充分了解Excel的基本知识与VBA的编程技巧,你就会从中获得乐趣,让我们一起来吧,走进VBA的世界中 。
VBA的用途
由于微软Office软件的普及,人们常见的办公软件Office软件中的Word、Excel、Access、Powerpoint都可以利用VBA使这些软件的应用更高效率,例如:通过一段VBA代码,可以实现画面的切换;可以实现复杂逻辑的统计(比如从多个表中,自动生成按合同号来跟踪生产量、入库量、销售量、库存量的统计清单)等 。
掌握了VBA , 可以发挥以下作用:
1.规范用户的操作,控制用户的操作行为;
2.操作界面人性化 , 方便用户的操作;
3.多个步骤的手工操作通过执行VBA代码可以迅速的实现;
4.实现一些VB无法实现的功能 。
VBA和VB的区别包括如下几个方面:
1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL等)自动化
2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序.
3. 要运行VB开发的应用程序 , 用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE) , 而VBA开发的程序必须依赖于它的父应用程序 , 例如EXCEL.
4.VBA是VB的一个子集 。
尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在EXCEL中用VBA创建解决方案后,即已具备在WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用VBA创建解决方案的大部分知识.
* VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化.
* VBA可以称作EXCEL的遥控器.
VBA究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案.
此外,如果你愿意,还可以将EXCEL用做开发平台实现应用程序.
Office取得巨大成功的一个重要原因就是VBA,使用VBA可以完成很多事情,基于Excel、Word的VBA小程序不计其数 。
VBA程序员很多是业余程序员,正因为业余,解决的却是工作中需要解决的问题;所以,VBA程序大多都是只是在部门内部或个人使用的小工具 。
集成了VBA的其他应用程序也很多,但真正能为程序增色的不多 。
大多数人看到了VBA可以自动化一个程序,可以扩展已有程序,但没有看到在Office中,VBA代码可以是录制的 , 而不是写出来的,带来的好处是,学习曲线变得非常缓 。如果没有宏录制功能,要熟悉某个Office组件的对象模型,绝非一日之功 。
以ArcGIS为例,ArcGIS扩展必须使用ArcObject,不管是使用VBA也罢,VB也罢,还是C++也罢 。但同时 , ArcObject的学习不是一天两天可以搞定,对于业余程序员,要使用VBA来扩展ArcGIS,几乎没有可能;专业程序员又不屑使用VBA;而对于公司 , 如果要基于ArcObject来扩展ArcGIS,选择VBA意味着源码的保护很困难 。所以,ArcGIS的VBA就如同鸡肋 。
不过,学习AO的时候 , 使用VBA比使用其他语言要容易一些,写几行代码 , 然后直接运行测试结果,这种交互式的学习应该是最好的学习方法 。
ArcGIS以及AO与Office相比 , 还有一个很大的差别,就是ArcGIS缺乏中等粒度的对象,例如Word和Excel的Range对象 。对于Office开发,可以在对底层小粒度对象一无所知的状况下做很多事情,这就是抽象的力量 。常人可以处理的复杂度是有限的,面对数十个对象和几百个对象,后者需要付出的努力不是10倍,而是数十倍或更多,因为在学习过程中,必须可以把这些对象在大脑中很好的组织,以控制其复杂度 。
Visual Basic for Applications(简称VBA)是新一代标准宏语言 , 是基于Visual Basic for Windows 发展而来的 。它与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法 。而VBA 提供了面向对象的程序设计方法 , 提供了相当完整的程序设计语言 。VBA 易于学习掌握,可以使用宏记录器记录用户的各种操作并将其转换为VBA 程序代码 。这样用户可以容易地将日常工作转换为VBA 程序代码,使工作自动化 。因此,对于在工作中需要经常使用Office 套装软件的用户,学用VBA 有助于使工作自动化,提高工作效率 。另外,由于VBA 可以直接应用Office 套装软件的各项强大功能 , 所以对于程序设计人员的程序设计和开发更加方便快捷 。
VBA 基础
Visual Basic 的应用程序版(VBA)是Microsoft 公司长期追求的目标,使可编程应用软件得到完美的实现 , 它作为一种通用的宏语言可被所有的Microsoft 可编程应用软件所共享 。在没有VBA 以前,一些应用软件如Excel、Word、Access、Project 等都采用自己的宏语言供用户开发使用 , 但每种宏语言都是独立的,需要用户专门去学习,它们之间互不兼容 , 使得应用软件之间不能在程序上互联 。拥有一种可跨越多个应用软件 , 使各应用软件产品具有高效、灵活且一致性的开发工具是至关重要的 。VBA 作为一种新一代的标准宏语言,具有上述跨越多种应用软件并且具有控制应用软件对象的能力,使得程序设计人员仅需学习一种统一的标准宏语言,就可以转换到特定的应用软件上去,程序设计人员在编程和调试代码时所看到的是相同的用户界面,而且VBA 与原应用软件的宏语言相兼容 , 以保障用户在代码和工作上的投资 。有了VBA 以后,多种应用程序共用一种宏语言,节省了程序人员的学习时间,提高了不同应用软件间的相互开发和调用能力 。
在Office 2000 中,宏语言VBA 适用于所有应用程序,包括Word 、 Excel、PowerPoint、Access、Outlook 以及Project 。在Office 97 的各应用程序中,新增了Visual Basic 编辑器 。这样 , 用户无论是在Excel 中 , 还是在Word 中以至是在Access 中建立和管理VBA 都具有统一的方法和标准 。
在介绍如何利用VBA 提高工作效率之前,首先介绍一些与VBA 有关的基础知识 。
VB 与VBA
VBA 是基于Visual Basic 发展而来的 , 它们具有相似的语言结构 。Visual Basic 是Microsoft 的主要图形界面开发工具,VBA 5.0 (亦即VBA 97)则是Visual Basic 5.0 的子集 。Visual Basic 是由Basic 发展而来的第四代语言 。Visual Basic 作为一套独立的 Windows 系统开发工具,可用于开发Windows 环境下的各类应用程序,是一种可视化的、面向对象的、采用事件驱动方式的结构化高级程序设计语言 。它具有高效率、简单易学及功能强大的特点 。VB 的程序语言简单、便捷,利用其事件驱动的编程机制,新颖易用的可视化设计工具,并使用Windows 应用程序接口(API)函数,采用动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)以及开放式数据库访问(ODBC)等技术,可以高效、快速地编制出 Windows 环境下功能强大、图形界面丰富的应用软件系统 。
Visual Basic 程序很大一部分以可视(Visual)形式实现,这意味着在设计阶段就可以看到程序运行的屏幕画面,用户可以在设计时能够方便地改动画面图像、大小、颜色等,直到满意为止 。VB 的用户可以是缺乏Windows 及C 语言开发经验的专业软件人员,也可以是具有一定Windows 开发经验的专业人员 , VB 的可视化编程方法使得原来繁琐枯燥、令人生畏的Windows 应用程序设计变得轻松自如、妙趣横生 。以往的Windows 应用程序开发工具在设计图形用户界面时,都是采用编程的方法 , 并伴随大量的计算任务,一个大型应用程序约有90%的程序代码用来处理用户界面,而且在程序设计过程中不能看到界面显示的效果,只有在程序执行时才能观察到,如果界面效果不佳,还需要回到程序中去修改 。Visual Basic 提供了新颖的可视化设计工具,巧妙地将Windows 界面设计的复杂性封装起来,程序开发人员不必再为界面设计而编写大量程序代码 , 仅需采用现有工具按设计者要求的布局,在屏幕上画出所需界面,并为各图形对象设置属性即可,VB 自动产生界面设计代码,这样便将事先编制好的控件可视地连接到一起,构成一个随时可调整的界面 。
VBA 不但继承了VB 的开发机制,而且VBA 还具有与VB 相似的语言结构,它们的集成开发环境IDE(Intergrated Development Environment)也几乎相同 。但是,经过优化,VBA 专门用于Office 的各应用程序 。VB 可运行直接来自Windows 95 或NT 桌面上的应用程序,而VBA 的项目(Project)仅由使用VBA 的Excel、Word、 PowerPoint 等称为宿主(Host)的Office 应用程序(Application)来调用 。
WordBasic 和 Visual Basic
在 Word 中,为完成具体的任务,所用的是WordBasic 命令 。WordBasic 是从VBA 扩展而来的一种专用于处理Word 自动功能的语言,下面介绍它们在概念上的区别和它们的宏的相互转换 。WordBasic 和 Visual Basic 在概念上的区别
VBA 和WordBasic 之间主要的区别是 WordBasic 语言包含由大约 900 个命令组成的一张平面列表 , 而 Visual Basic 则包含了由对象组成的一个分层结构,每个对象都可提供一组特定方法和属性(与 WordBasic 中的语句和函数相似) 。大多数 WordBasic 命令在任何时候都可运行,而 Visual Basic 只在特定的时候提供有效对象的方法和属性 。
注意:本书提到的Visual Basic 如果不加特别说明,都是指Visual Basic For Applications 。
对象是 Visual Basic 这一宏伟大厦的基石,在 Visual Basic 中进行的几乎任何操作都与修改对象有关 。Word 的任何元素(如文档、段落、域、书签等),都可以用 Visual Basic 中的对象来代表 。与平面列表中的命令不同,部分对象只能通过其他对象才能加以访问 。例如 , 可以通过不同的对象(如 Style、Selection 和 Find 对象)来访问 Font 对象 。
应用加粗格式的编程任务就表明了两种编程语言之间的区别 。下面的 WordBasic 指令对所选内容应用加粗格式 。
下面的示例是 Visual Basic 语句,也是对所选内容应用加粗格式 。
Selection.Font.Bold = True
Visual Basic 不包含 Bold 语句和函数,却有一个名为 Bold 的属性(属性通常指一个对象的特性,例如大小、颜色,或者是否是加粗) 。Bold 是 Font 对象的一个属性 。同样地 , Font 是返回一个 Font 对象的 Selection 对象的一个属性 。按照下面的对象结构,可以生成指令,以将加粗格式应用于所选内容 。
Bold 属性是一个 Boolean 类型、可读写的属性 。这意味着可以将 Bold 属性设置为 True 或 False(真或假),也可返回当前值 。下面 WordBasic 指令的返回值表明是否将加粗格式应用于所选内容 。
x = Bold()
下面的示例是 Visual Basic 语句,返回所选内容的加粗格式的状态 。
x = Selection.Font.Bold
要在 Visual Basic 中执行一个任务,就需要确定合适的对象 。例如,如果用户想应用【字体】对话框中的字符格式,可使用 Font 对象 。然后需要确定如何理顺从 Application 对象到 Font 对象的 Word 对象结构,以找到包含需要修改的 Font 对象的对象 。在确定了该对象的路径之后(例如,Selection.Font),可使用 Visual Basic 编辑器中的【对象浏览器】、【帮助】或【自动列表成员】之类的功能来确定可将什么属性和方法应用于该对象 。
将 WordBasic 宏转换为 Visual Basic
宏可使任务自动化,如果在 Word 中重复进行某项工作,可用宏使其自动执行 。宏是将一系列的 Word 命令和指令组合在一起,形成一个命令,以实现任务执行的自动化 。用户可创建并执行一个宏,以替代人工进行一系列费时而重复的 Word 操作 。事实上,它是一个自定义命令 , 用来完成所需任务 。
宏的一些典型应用如:加速日常编辑和格式设置、组合多个命令、使对话框中的选项更易于访问、使一系列复杂的任务自动执行等 。
Word 提供了两种创建宏的方法:宏录制器和 Visual Basic 编辑器 。宏录制器可帮助用户开始创建宏 。Word 在 VBA 编程语言中把宏录制为一系列的 Word 命令 。可在 Visual Basic 编辑器中打开已录制的宏 , 修改其中的指令 。也可用 Visual Basic 编辑器创建包括 Visual Basic 指令的非常灵活和强有力的宏,这些指令无法采用录制的方式 。
【什么是VBA VBA宏功能介绍】当第一次进行下列任何操作时,Word 2000 将自动转换 Word 6.x 或 Word 95 模板中的宏 。

什么是VBA VBA宏功能介绍的详细内容就为您分享到这里,【精彩生活】jing111.com小编为您精选以下内容,希望对您有所帮助: