MSOffice开发工具--VBA

2016-02-19 16:30 15 1 收藏

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐MSOffice开发工具--VBA,赶紧看过来吧!

【 tulaoshi.com - 编程语言 】

一、VBA的发展过程
  ----在Office中包含着一种加强Office功能的语言,即为Basic语言。经过发展,在Office97中,Word、Excel、Access、PowerPoint四个软件都有了自己的程序设计语言,分别称为MicrosoftWordVisualBasic、MicrosoftExcelVisualBasic、MicrosoftAccessVisualBasic、MicrosoftPowerPointVisualBasic。通常统一称为VBA。在Outlook中的开发语言为VisualBasicScriptingEdition,而不是一个完全的VBA。不过,VisualBasicScriptingEdition是VBA的一个较小的子集,它与VBA兼容。当然,有一些VBA支持的特性,VisualBasicScriptingEdition并不支持。

二、VBA开发特点
  ----1.MicrosoftOffice对象模型

----VisualBasic是一种面向对象的开发语言。VBA将MicrosoftOffice中的每一个应用程序都看成一个对象。每个应用程序都由各自的Application对象代表。

----在Word中,Application对象中包容了Word的菜单栏、工具栏、Word命令等的相应对象,以及文档对象等等。菜单栏对象中包容了所有的菜单及菜单命令。工具栏对象中包容了各种命令按钮。文档对象中则包容了所有的文字、表格、图像等文档组成部分的相应对象。文档对象是MicrosoftWordVisualBasic中的主要对象。

----在Excel中,Application对象中包容了Excel的菜单栏、工具栏等的相应对象,以及工作表对象和图表对象等等。工作表对象和图表对象是MicrosoftExcelVisualBasic中的主要对象。

----在Access中,Application对象中包容了Access的菜单栏、工具栏等的相应对象,以及报表对象和窗体对象等等。报表对象和窗体对象是MicrosoftAccessVisualBasic中的主要对象。

----在PowerPoint中,Application对象中包容了PowerPoint的菜单栏、工具栏等的相应对象,以及演示文档对象等等。演示文档对象是MicrosoftPowerPointVisualBasic中的主要对象。

----2.基于对象的开发

----(1)使用MicrosoftOffice对象

----Office已经具有了强大的功能,Office的对象模型使得可以使用MicrosoftOffice中的对象来完成自己的工作。程序员可以不必浪费时间开发自己的组件,只需充分地利用Office的功能。Office开发者可以在Office的基础上进行自己的开发,而不必一切从头开始。例如,Office开发者可以使用Word的拼写检查器,而不必自己来开发一个拼写检查器。

----(2)用户创建对象

----Office开发者可以在Office对象中创建自己的对象:可以创建自己的菜单和工具栏,添加到Office的对象集合中;可以创建一个窗体,并且在窗体中添加控件,等等。例如,在Word中,可以往自动更正的词库中添加自己的词条。

----3.VBA开发Office的功用

----有人也许觉得Office的功能已经足够强大了,是否还有必要使用VBA来开发Office。的确,即使根本不用编写一句语句,Office就可以完成用户所能遇到的各种任务。但是,人们对效率的追求是永不满足的,这就是使用VBA来开发Offic的原动力。

----(1)VBA可以使Office任务自动化

----在使用Office的过程中,往往要遇到一些重复性的系列工作,特别是在处理大批量的文档或数据时。通过录制宏或使用VisualBasic编写宏,使一系列的工作只需要一个指令便能完成,这就成倍地提高了工作效率。

----(2)VBA可以定制Office满足自己的需要

----Office是一个功能异常庞杂的软件包,对某一用户来所说,许多命令可能一辈子也用不着,而另外一些命令可能得经常使用。有时候,功能复杂反而显得多余。

----另外,Office的外观显得异常的繁杂,许多用户面对如此繁杂的界面往往手足无措。

----通过VBA可以设置自己的界面,把自己经常用到的菜单命令和工具栏放置到显眼的地方,隐藏一些不常用的菜单或工具栏,并且,可以把自己所编写的宏设置为菜单命令或设置为工具栏中的命令按钮,方便了使用。

----并且,可以根据自己的需要来定制Office的功能,满足自己的需要。

----(3)VBA可以增强Office的功能

----Office的功能虽然强大,但它不可能考虑到所有情况,而且情况是千变万化的,各种情况都有特定的要求。

----通过VBA可以增强Office的功能,以处理各种各样的任务。例如,可以设置Word拼写检查的词库;可以往词库中添加新的词语;可以设置自动更正,设置自己经常遇到的误拼等。

----(4)VBA可以增强Office与用户的交互

----在Office中,可以利用VisualBasic创建窗体,并在窗体中添加控件等用户接口元素。通过用户接口,应用程序可以得到用户的请求,并对其作出响应。

----(5)VBA可以集成Office的功能

----Office不是几个软件的简单组合,而成为一个有机的整体发挥巨大的作用。VisualBasic提供了集成Office的功能的一种手段。

----通过OLE(对象的链接和嵌入)和DDE(动态数据交换)技术的使用可以集成Office的功能。例如,利用VisualBasic,可以在Word文档中链接Excel数据表,调用Excel来对该数据进行处理。在Excel中处理该数据表,得到结果也要刷新Word文档中的数据表,保持了数据的更新。这时的文档确切地说应该是一个复合文档。

----OLE自动化技术则提供了一种在应用程序中控制源文档的方法。OLE自动化的优点是,在单一的环境中工作,同时可以使用其他应用程序的功能。

----在MicrosoftOffice环境中,利用VisualBasic开发应用程序时,可以利用OLE自动化组合MicrosoftOffice中的多个应用程序,建立自动化应用程序。MicrosoftOffice提供了大量的材料,只需把它们拼凑起来。

三、简单开发实例:
  字符统计程序


  ----有时候,要对某字符在文档中的出现次数进行统计。要完成这一任务,可以在Word中开发一程序来较快地统计。

----打开要统计的文档后,在文本框中输入要统计的字符,如“OK!”,然后选择是否区分大小写,单击“确定”按钮,便可以进行统计了。

----设计该程序的步骤如下:

----1.新建一窗体Userform1,窗体的caption属性设置为“字符统计”。窗体中包容以下控件:

----复选框控件CheckBox1Caption=“区分大小写"

----命令按钮控件CommandButton1Caption=“确定"

----标签控件Label1Caption=“输入您要统计的字符:"

----2.在单击命令按钮控件CommandButton1后便执行统计工作,代码如下:

PrivateSubCommandButton1_Click()
  DimcountofappearasInteger
  Selection.WholeStory
  WithSelection
  .Find.ClearFormatting
  With.Find
  .Text=UserForm1.TextBox1.Text
  IfUserForm1.CheckBox1.Value=TrueThen
  .MatchCase=True
  Else
  .MatchCase=False
  EndIf
  .Execute
  EndWith
  EndWith
  IfNotSelection.Find.Found()Then
  MsgBox“未找到"
  ExitSub
  EndIf
  WhileSelection.Find.Found()
  countofappear=countofappear+1
  Selection.Find.Execute
  Wend
  MsgBox“找到了"&countofappear&“个"
  EndSub

----讲解:首先用语句Selection.WholeStory选定全文。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

----使用Selection.find.execute语句进行一次对字符的查找操作,如下:

WithSelection
  .Find.ClearFormatting
  With.Find
  .Text=UserForm1.TextBox1.Text
  IfUserForm1.CheckBox1.Value=TrueThen
  .MatchCase=True
  Else
  .MatchCase=False
  EndIf
  .Execute
  EndWith
  EndWith

----上述语句中使用Find对象的ClearFormatting方法作用是清除任何为进行查找或替换操作所指定的格式,相当于“编辑”菜单“查找和替换”对话框中的“不限定格式”按钮。

----另外,MatchCase属性设置查找操作是否区分大小写。

----如果没有找到,则弹出一消息框,告知没有找到,并退出子程序,语句为:

IfNotSelection.Find.Found()Then
  MsgBox“未找到"
  ExitSub
  EndIf

----如果找到一处,然后进行下一次查找,以下如此循环,每找到一次countofappear变量便加1,来代表指定字符在文档中出现的次数,语句为:

WhileSelection.Find.Found()
  countofappear=countofappear+1
  Selection.Find.Execute
  Wend

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

----在程序中Selection.Find.Found()函数用来知道是否找到指定的字符。

----最后,弹出一个消息框来告知字符在文档中出现的次数。

->

来源:http://www.tulaoshi.com/n/20160219/1612306.html

延伸阅读
旧金山--甲骨文网格力量崭露头角 9月23,在Oracle OpenWorld 2008 莫斯科会议中心,甲骨文推出了的BEA的WebLogic application server改进版,以满足目前应用软件开发和部署的新趋势:虚拟化、资源整合和强调效率 。 新的甲骨文WebLogic应用网格--构建的部分技术源于公司先前85亿美元收购的BEA -使企业能够将计算机和存储集中,...
作者:Allen 1 我要开始学习Java了,我需要预备些什么东西呢? 做为一个刚刚开始学习Java的新手,你应该至少预备如下东西: (1) 一个Java语言开发工具包(Java Devekopment Kit),其中包括Java 编译器和Java运行环境。推荐使用Sun公司开发的Java 2 SDK标准版。 目前版本的Java 2 SDK...
由于WPS体积小并不像office那样,包含所有功能,有些版本是根据用户需求而设计的,所以在使用过程中总会有那么几个功能无法使用。比如小编的WPS2013中就无法使用VBA,在使用中发现,它在开发工具中以黑色呈现,如果一定要用的话还需重新下载安装,由于在安装过程遇到了一些问题,因此在接下来的文章中把解决问题的经验与大家分享下。主要是利用...
对于现在很多公司在设置网页制作这一部分的时候,已经开始越来越细化其中的工作分类。从几年前的先设计后制作的网页制作职位,到现在的网页艺术设计和WEB前端设计,动画等都已经分工明确起来。网页在这几年迅速发展的同时也催生了很多新的技术分类。这是好事,可以更细化让成品变得更精致,让维护变得更轻松。那么如果你是一名WEB前端人员那么...
Office2013开发工具怎么调出来   大家在使用Office2013写Word文档的时候,很多人都不知道开发工具怎么调出来,只要在选项里找到开发工具然后选勾就可以使用开发工具了哦,下面就和小编一起来看看具体怎么操作吧。 Office2013开发工具怎么调出来方法: 打开office 2013中word。 再点左上角的文件。   点...

经验教程

198

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部