Visual Basic for Application是什么

VBA入门教程
本文介绍如何使用Visual Basic for Application (VBA) 在Excel环境中进行应用程序自动化。内容涵盖VBA的基本概念、宏录制与执行等基础知识。

欢迎使用E x c e l和Visual Basic for Application开发应用程序!作为已经能够熟练使用E x c e l
的用户,你一定对E x c e l强大的功能感到满意。现在,你将逐步提高到更高的水平。即使你以
前从来没有编写过程序,也能够使用Visual Basic for Application开发出解决方案。Vi s u a l
Basic for Application是现在可用的最容易学习、最容易使用同时也是最复杂的应用程序自动
化语言(过去常常称为宏语言)之一。在这个学时中,通过熟悉宏录制器,将开始学习有关
的基础知识。
本学时的重点包括:
• Visual Basic for Application是什么
• Excel环境中基于应用程序的自动化的优点
• 录制一个简单的宏
• 执行宏
• 编辑宏
• 宏录制器的局限性
1.1 Visual Basic for Application是什么
直到9 0年代早期,使应用程序自动化还是充满挑战性的领域。对每个需要自动化的应用
程序,人们不得不学习一种不同的自动化语言。例如,可以使用E x c e l的宏语言使E x c e l自动化,
使用Word Basic使Microsoft Wo r d自动化,等等。M i c r o s o f t决定让它开发出来的应用程序共享
一种通用的自动化语言—Visual Basic for Application(V B A),而不是使用不同的自动化语
言。可以认为Visual Basic for Application是非常流行的应用程序开发语言—Visual Basic的
子集。实际上,V B A是“寄生于”Visual Basic应用程序的版本。V B A与Visual Basic的区别包
括如下几个方面:
• Visual Basic是设计用于创建标准的应用程序,而V B A是用于使已有的应用程序自动
化。
• Visual Basic 具有自己的开发环境,而V B A必须“寄生于”已有的应用程序。
• 要运行Visual Basic开发的应用程序,用户不用在他的系统**问Visual Basic,因为
Visual Basic开发出的应用程序是可执行的。而由于V B A应用程序是寄生性的,执行它
们要求用户访问“父”应用程序,例如E x c e l。
尽管存在这些不同, Visual Basic和V B A在结构上仍然非常相似。事实上,如果你已经了
解了Visual Basic,会发现学习V B A非常快。相应地,学完V B A会给Visual Basic的学习打下坚
实的基础。而且,当学会在E x c e l中用V B A创建解决方案后,你就已经具备了在Wo r d、P r o j e c t、
A c c e s s、O u t l o o k、F o x P r o和P o w e r P o i n t中用V B A创建解决方案的大部分知识。

V B A的一个关键性特征是从一种M i c r o s o f t产品或者Visual Basic中学
到的知识可以相互转化。
V B A究竟是什么?更确切地讲,它是一种自动化语言,可以用它使常用的过程或者进程
自动化,可以创建自定义的解决方案,此外,如果你愿意,还可以将E x c e l用做开发平台实现
应用程序。

谈到宏,很多人想到的是宏病毒,其实如果有正版杀毒软件,打开了实时防护,设置好宏安全性,可以利用宏来完成许多办公自动化功能。   打开word软件,从文件主菜单中“工具”->“宏”->“安全性”,设置安全性为中,这样就可以选择执行宏。安装office的时候,应该定制安装,在“office 工具”里选上“Visual Basic帮助”,这样就能获得非常完善的关于VBA编程环境、VBA语言参考、VBA对象等的帮助文档。从“工具”->“宏”->“Visual Basic 编辑器”可以打开VBA编程环境——“Microsoft Visual Basic”。在编程环境中打开“帮助”->“Microsoft Visual Basic帮助”,就可以看到帮助了。   很多人觉得学习Visual Basic没有用,事实上,Visual Basic系列的编程语言包括VB、VBA、VBScript等,可以写网页、办公自动化编程、应用编程。在一些其他公司的应用软件中也是可以用VBA的,例如Corel Draw。这里举几个例子来说明VBA的使用。   如果有数十个文档需要合并为一个文档,逐个打开、拷贝是件麻烦事,可以用宏来完成。 例一:合并文档。新建一个窗体,窗体上放一个按钮。工具箱可以从“视图”->“工具箱”打开。 '按钮事件 Private Sub CommandButton1_Click() Dim sPath As String 'sPath用来保存路径 Dim tem As String '中间变量 Set newDoc = Documents.Add '用Documents.Add增加一个新文档 With newDoc .SaveAs FileName:="D:/txtal.doc" '新文档保存的完整路径 End With ActiveDocument.close '关闭新建的文档 With Dialogs(wdDialogFileFind) '设置文本查找对话框 .SortBy = 2 '文件按名称排列 .SearchName = "*.txt" '只列出文本文件 .Update '更新 End With If Dialogs(wdDialogFileFind).Show = -1 Then '如果按下打开,就执行 sPath = Dialogs(wdDialogFileFind).SearchPath '将查找对话框打开的路径附值给SPath Dialogs(wdDialogFileFind).Execute Else Exit Sub '如果取消或者关闭,就退出 End If With Application.FileSearch '设置应用程序的查找 .NewSearch '新查找 .LookIn = sPath '将新查找的路径设置为文件对话框的路径(sPath) .SearchSubFolders = True '查找子目录 .FileType = msoFileTypeAllFiles '查找所有文件类型,这里可以设置其他类型,具体见FileSearch对象的FileType属性 .FileName = "*.txt" '查找后缀为txt的文件 .Execute '执行文件查找 Documents.Open ("D:/txtal.doc") '打开"D:/txtal.doc" Set Range2 = ActiveDocument.Content '设置Range2对象为活动文档的内容 For i = 1 To .FoundFiles.Count '把找到的文件打开,拷贝文件内容,加到新建的D:/txtal.doc文件中 Documents.Open (.FoundFiles(i)) '打开第i个找到的文件 ActiveDocument.Content.Select '全选活动文件的内容 Selection.Copy '拷贝选中的内容 ActiveDocument.Close '关闭活动文档 Range2.Collapse Direction:=wdColla
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值