ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:153.43KB ,
资源ID:5465025      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5465025.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(word vba 作图相关文件参考.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

word vba 作图相关文件参考.docx

1、word vba 作图相关文件参考第十一章 利用VBA提高工作效率Visual Basic for Applications(简称VBA)是新一代标准宏语言,是基于Visual Basic for Windows 发展而来的。它与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法。而VBA提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。VBA 易于学习掌握,可以使用宏记录器记录用户的各种操作并将其转换为VBA 程序代码。这样用户可以容易地将日常工作转换为VBA 程序代码,使工作自动化。因此,对于在工作中需要经常使用Office 套装软件的用户,学用

2、VBA 有助于使工作自动化,提高工作效率。另外,由于VBA可以直接应用Office套装软件的各项强大功能,所以对于程序设计人员的程序设计和开发更加方便快捷。& 11.1 VBA 基础Visual Basic的应用程序版(VBA)是Microsoft公司长期追求的目标,使可编程应用软件得到完美的实现,它作为一种通用的宏语言可被所有的Microsoft可编程应用软件所共享。在没有VBA以前,一些应用软件如Excel、Word、Access、Project等都采用自己的宏语言供用户开发使用,但每种宏语言都是独立的,需要用户专门去学习,它们之间互不兼容,使得应用软件之间不能在程序上互联。拥有一种可跨越

3、多个应用软件,使各应用软件产品具有高效、灵活且一致性的开发工具是至关重要的。VBA作为一种新一代的标准宏语言,具有上述跨越多种应用软件并且具有控制应用软件对象的能力,使得程序设计人员仅需学习一种统一的标准宏语言,就可以转换到特定的应用软件上去,程序设计人员在编程和调试代码时所看到的是相同的用户界面,而且VBA与原应用软件的宏语言相兼容,以保障用户在代码和工作上的投资。有了VBA以后,多种应用程序共用一种宏语言,节省了程序人员的学习时间,提高了不同应用软件间的相互开发和调用能力。在Office 2000中,宏语言VBA 适用于所有应用程序,包括Word、Excel、PowerPoint、Acce

4、ss、Outlook 以及Project。在Office 97的各应用程序中,新增了Visual Basic编辑器。这样,用户无论是在Excel中,还是在Word中以至是在Access中建立和管理VBA都具有统一的方法和标准。在介绍如何利用VBA提高工作效率之前,首先介绍一些与VBA有关的基础知识。 11.1.1 VB 与VBAVBA是基于Visual Basic 发展而来的,它们具有相似的语言结构。Visual Basic 是Microsoft 的主要图形界面开发工具,VBA 5.0(亦即VBA 97)则是Visual Basic 5.0的子集。Visual Basic是由Basic发展而来

5、的第四代语言。Visual Basic作为一套独立的Windows系统开发工具,可用于开发Windows环境下的各类应用程序,是一种可视化的、面向对象的、采用事件驱动方式的结构化高级程序设计语言。它具有高效率、简单易学及功能强大的特点。VB的程序语言简单、便捷,利用其事件驱动的编程机制,新颖易用的可视化设计工具,并使用Windows应用程序接口(API)函数,采用动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)以及开放式数据库访问(ODBC)等技术,可以高效、快速地编制出Windows 环境下功能强大、图形界面丰富的应用软件系统。Visual Basic程序很大一部分以

6、可视(Visual)形式实现,这意味着在设计阶段就可以看到程序运行的屏幕画面,用户可以在设计时能够方便地改动画面图像、大小、颜色等,直到满意为止。VB 的用户可以是缺乏Windows及C语言开发经验的专业软件人员,也可以是具有一定Windows开发经验的专业人员,VB的可视化编程方法使得原来繁琐枯燥、令人生畏的Windows应用程序设计变得轻松自如、妙趣横生。以往的Windows应用程序开发工具在设计图形用户界面时,都是采用编程的方法,并伴随大量的计算任务,一个大型应用程序约有90%的程序代码用来处理用户界面,而且在程序设计过程中不能看到界面显示的效果,只有在程序执行时才能观察到,如果界面效果

7、不佳,还需要回到程序中去修改。Visual Basic提供了新颖的可视化设计工具,巧妙地将Windows界面设计的复杂性封装起来,程序开发人员不必再为界面设计而编写大量程序代码,仅需采用现有工具按设计者要求的布局,在屏幕上画出所需界面,并为各图形对象设置属性即可,VB自动产生界面设计代码,这样便将事先编制好的控件可视地连接到一起,构成一个随时可调整的界面。VBA不但继承了VB的开发机制,而且VBA还具有与VB相似的语言结构,它们的集成开发环境IDE(Intergrated DevelopmentEnvironment)也几乎相同。但是,经过优化,VBA专门用于Office的各应用程序。VB可运

8、行直接来自Windows 95 或NT桌面上的应用程序,而VBA的项目(Project)仅由使用VBA的Excel、Word、PowerPoint等称为宿主(Host)的Office应用程序(Application)来调用。 11.1.2 WordBasic 和Visual Basic在Word 中,为完成具体的任务,所用的是WordBasic 命令。WordBasic 是从VBA 扩展而来的一种专用于处理Word 自动功能的语言,下面介绍它们在概念上的区别和它们的宏的相互转换。= 11.1.2.1 WordBasic 和Visual Basic 在概念上的区别VBA 和WordBasic 之

9、间主要的区别是WordBasic 语言包含由大约900 个命令组成的一张平面列表,而Visual Basic 则包含了由对象组成的一个分层结构,每个对象都可提供一组特定方法和属性(与WordBasic 中的语句和函数相似)。大多数WordBasic 命令在任何时候都可运行,而Visual Basic 只在特定的时候提供有效对象的方法和属性。注意:本书提到的Visual Basic 如果不加特别说明,都是指VisualBasic For Applications。对象是Visual Basic 这一宏伟大厦的基石,在Visual Basic 中进行的几乎任何操作都与修改对象有关。Word 的任何

10、元素(如文档、段落、域、书签等),都可以用Visual Basic 中的对象来代表。与平面列表中的命令不同,部分对象只能通过其他对象才能加以访问。例如,可以通过不同的对象(如Style、Selection 和Find 对象)来访问Font 对象。应用加粗格式的编程任务就表明了两种编程语言之间的区别。下面的WordBasic指令对所选内容应用加粗格式。下面的示例是Visual Basic语句,也是对所选内容应用加粗格式。Selection.Font.Bold = TrueVisual Basic不包含Bold 语句和函数,却有一个名为Bold的属性(属性通常指一个对象的特性,例如大小、颜色,或者

11、是否是加粗)。Bold 是Font 对象的一个属性。同样地,Font是返回一个Font对象的Selection对象的一个属性。按照下面的对象结构,可以生成指令,以将加粗格式应用于所选内容。Bold 属性是一个Boolean 类型、可读写的属性。这意味着可以将Bold 属性设置为True 或False(真或假),也可返回当前值。下面WordBasic 指令的返回值表明是否将加粗格式应用于所选内容。x = Bold()下面的示例是Visual Basic 语句,返回所选内容的加粗格式的状态。x = Selection.Font.Bold要在Visual Basic 中执行一个任务,就需要确定合适的

12、对象。例如,如果用户想应用【字体】对话框中的字符格式,可使用Font对象。然后需要确定如何理顺从Application 对象到Font 对象的Word 对象结构,以找到包含需要修改的Font 对象的对象。在确定了该对象的路径之后(例如,Selection.Font),可使用Visual Basic编辑器中的【对象浏览器】、【帮助】或【自动列表成员】之类的功能来确定可将什么属性和方法应用于该对象。= 11.1.2.2 将WordBasic 宏转换为Visual Basic宏可使任务自动化,如果在Word 中重复进行某项工作,可用宏使其自动执行。宏是将一系列的Word 命令和指令组合在一起,形成一

13、个命令,以实现任务执行的自动化。用户可创建并执行一个宏,以替代人工进行一系列费时而重复的Word 操作。事实上,它是一个自定义命令,用来完成所需任务。宏的一些典型应用如:加速日常编辑和格式设置、组合多个命令、使对话框中的选项更易于访问、使一系列复杂的任务自动执行等。Word 提供了两种创建宏的方法:宏录制器和Visual Basic 编辑器。宏录制器可帮助用户开始创建宏。Word 在VBA 编程语言中把宏录制为一系列的Word 命令。可在Visual Basic 编辑器中打开已录制的宏,修改其中的指令。也可用Visual Basic 编辑器创建包括Visual Basic 指令的非常灵活和强有

14、力的宏,这些指令无法采用录制的方式。当第一次进行下列任何操作时,Word 2000 将自动转换Word 6.x或Word 95 模板中的宏。打开该模板。基于该模板创建一篇新文档。使用【工具】菜单中的【模板】命令将模板附加给一篇文档。在转换宏时,在状态栏会显示一条信息。转换结束后,必须保存模板,以保存转换后的宏。如果不保存模板,那么下次使用该模板时,Word 会再次转换这些宏。宏里面的每个WordBasic 语句和函数都转换为相应的WordBasic 方法。转换过程将每个宏都转换为Visual Basic 模块。如要查看转换过的宏,可在【工具】菜单上将鼠标指向【宏】,并单击【宏】命令。在【宏】对

15、话框中的宏名称显示为macroname.Main,其中Main 指转换宏中的主子程序(该子程序在以前版本的Word 中以Sub MAIN 开头)。要编辑转换过的宏,可选择一个宏名,单击【编辑】按钮,就可在Visual Basic 编辑器中显示该Visual Basic模块。对每个WordBasic 语句进行修改,以适应VBA。转换过的WordBasic 宏的功能与编写或录制的新VBA 宏相同,但并不完全相同。下面的示例是一个Word 95 模板中的WordBasic 宏。Sub MAIN()FormatFont .Name = Arial, .Points = 10Insert Hello W

16、orldEnd Sub当该模板在Word 2000 中打开时,该宏转换为下列代码。Public Sub Main()WordBasic.FormatFont Font:=Arial, Points:=10WordBasic.Insert Hello WorldEnd Sub转换过的宏中的每个语句以WordBasic 属性(WordBasic 属性返回一个自动化对象【Word.Basic】,该对象包含了在Word 6.0 和Word for Windows 95 中所有可用的WordBasic 语句和函数的方法)开头。WordBasic 是Word 2000 对象模型中的一个属性,该模型返回一个

17、对象及所有的WordBasic 语句和函数;该对象使得在Word2000 中运行WordBasic 宏成为可能。注意:如果在保存该模板时覆盖原来的模板,则该WordBasic 宏会永久地丢失,并且以前版本的Word 也不能使用转换过的宏。Word 97 中的宏在Word 2000 中像在Word 97 中一样使用而无需转换。下面的Visual Basic 宏与以前的WordBasic 宏的功能相同,但是没有使用WordBasic 属性。Public Sub Main()With Selection.Font.Name = Arial.Size = 10End WithSelection.Typ

18、eText Text:=Hello WorldEnd Sub下面的示例是用Word.Basic 对象新建一篇文档,然后插入有效字体的名称。每个字体名称以与之相应的字体显示。如:“楷体,隶书、宋体”。With WordBasic.FileNewDefaultFor aCount = 1 To .CountFonts().Font .Font$(aCount).Insert .Font$(aCount).InsertParaNextEnd With 11.1.3 对象、属性和方法= 11.1.3.1 Word 对象VBA 与传统宏语言的重要区别之一就在于它是面向对象的。对象是为了在VBA 程序中管

19、理数据和代码的方便提出来的。在VBA 中,对象是封装有数据和代码的客体。例如,UserForm对象是一个窗口或对话框,用以构成应用的用户界面部分。Word对象是VBA 为Word 编程所采取的看待世界的方法。对象代表一个Word 的元素,如文档、段落、书签或单个的字符。集合是一个对象,该对象包含其他数个对象,通常这些对象属于相同的类型。例如,一个集合对象中可包含文档中的所有书签对象。通过使用属性和方法,可以修改单个的对象,也可修改整个的对象集合。在一个应用程序中,最高级别的对象通常是Application 对象,它就是应用程序本身。例如, 在Microsoft Word 对象中的Applica

20、tion 对象就是Microsoft Word 本身。在Application 对象中包含了一些其他的对象,例如,在Microsoft Word 的Application对象中包含了cocument、Windows、Selection 等对象。因为Document对象的存在依赖于Word 的Application 对象的存在,所以此Document 对象被称之为Application 对象的子对象(Child),反过来,此Application 对象被称为Document对象的父对象(Parent)。许多子对象又有它们自己的子对象。例如,在Microsoft Excel 中,Documents

21、 对象包含了Document 对象,或者说,它是Document 对象的父对象,一个父对象可以拥有多个子对象;例如,Word 的Windows对象拥有Panes、Selection 以及Object 等子对象。同样,一个子对象也可以拥有多个父对象;例如,Word 的Windows 集合对象同时是Application 对象和Document 对象两者的子对象。对象组成应用程序的方法彼此之间按照它们被分开的内容的功能又相互联系起来,这叫做对象的分层结构(Objecthierarchy)或是对象的模型(Object model),如图11-1 所示为Microsoft Word 对象的结构模型图。

22、图11-1 对象结构模型图属性是对象的一个特性或者该对象操作的一个方面。例如,文档属性包含名称、内容、保存状态,以及是否启用修订。要设置一个属性的值,可在对象的后面带一个句号、属性名、一个等号和新的属性值。下面的示例在“MyDoc.doc”文档中启用修订。Documents(MyDoc.doc).TrackRevisions = True在本例中,Documents 引用由打开的文档构成的集合,而“ MyDoc.doc ”识别集合中的一篇文档,为该文档设置了TrackRevisions 属性。方法是对象可以进行的动作。例如,可打印一篇文档,因而Document 对象也具有PrintOut 方法

23、。方法通常都具有参数,指明动作是如何进行的。下面的示例是打印活动文档的前三页。ActiveDocument.PrintOut From:=1,To:=3在大多数情况下,方法是动作,而属性是性质。使用方法可使对象发生某些事情,而使用属性则可返回对象的信息,或者引起对象的某个性质的更改。可以利用对象与对象集的属性(Properties)和方法(Methods)对对象进行操作。关于属性与方法的概念在下一节介绍。操作对象首先应调用该对象,可以有以下两种方法: 显示调用方法(Calling it explicitly)。要根据该对象在对象模型中的明确位置进行指向。 隐示调用方法(Calling it i

24、mplicitly)。不必指出对象在对象模型中的位置,只需确保此操作不会引起混淆与错误。例如,你要调用某文档对象,对此进行操作,如果能确定该文档是Word 当前(激活)文档,就可以直接对此进行操作,不会发生混淆,因为Word 中当前文档是唯一的。显示调用方法需要较多的代码,但不易混淆;隐示调用方法代码少,但容易混淆,应用时应该慎重。= 11.1.3.2 对象的属性、方法和事件方法指的是对象能执行的动作。如果对象共享共同的方法,则可以操作整个对象集合。例如,下列的过程会关闭所有打开的窗体。Sub CloseAll()Forms.CloseEnd Sub又例如,Add 是属于ComboBox 对象

25、的一个方法,因为它会增加一个新项到下拉式列表框中。下面的程序使用Add 方法,增加一个新的工程到ComboBox中。Sub AddEntry(newEntry as String)Combo1.Add newEntryEnd Sub属性定义了对象的特征,诸如大小、颜色或屏幕位置,或某一方面的行为,诸如对象是否有激活或可见的。可以通过修改对象的属性值来改变对象的特性。若要设置属性值,则在对象的引用后面加上一个复合句,它是由属性名加上等号(=)以及新的属性值所组成的。例如,下面的过程通过设置窗体中的Caption 属性来更改Visual Basic 窗体的标题。Sub ChangeName(new

26、Title)myForm.Caption = newTitleEnd Sub有些属性并不能设置。每一个属性的帮助主题,会指出是否可以设置此属性(读与写),或只能读取此属性(只读),还是只能写入此属性(只写)。可以通过属性的返回值,来检索对象的信息。下列的过程使用一个消息框来显示当前活动文档的标题,它显示在当前活动窗体顶部。Sub GetFormName()formName = Screen.ActiveForm.CaptionMsgBox formNameEnd Sub事件是一个对象可以辨认的动作,像单击鼠标或按下某键等,并且可以写某些代码针对所述动作来做响应。用户做动作或程序代码的结果可能导

27、致事件的发生,或是由系统引发。& 11.2 使用Visual Basic 编辑器上面已经讲到,Word 在VBA 编程语言中把宏录制为一系列的Word 命令,然后在Visual Basic 编辑器中打开已录制的宏,修改其中的指令。也可用Visual Basic 编辑器创建包括Visual Basic指令的非常灵活和强有力的宏,而那些指令是无法采用录制的方法的。在Word 中打开Visual Basic 编辑器的方法是:指向【工具】菜单中的【宏】菜单项,然后从其级联菜单中单击【Visual Basic 编辑器】命令,即可打开如图11-2 所示的Visual Basic 编辑器。图11-2 Vis

28、ual Basic 编辑器注意:如果用此命令打不开Visual Basic编辑器,说明文档和Normal模板可能已经被宏病毒感染了,因为一般的宏病毒都会把【VisualBasic 编辑器】命令屏蔽。此时可以把当前用户的Normal 模板删除,用没有被感染的Normal 代替或者不要Normal 模板,然后再重新打开Word,就可以打开Visual Basic 编辑器。下面简单介绍一下Visual Basic编辑器的方法。 11.2.1 利用好窗口Visual Basic 编辑器中根据不同的对象,设置了不同的窗口。如果能恰当地使用这些窗口,可以使编程效率有极大的提高。VisualBasic 编辑

29、器中主要的窗口包括代码窗口、立即窗口、本地窗口、对象浏览器、工程资源管理器、属性窗口、监视窗口以及工具箱和用户窗体窗口等。= 11.2.1.1 【代码】窗口可以使用【代码】窗口来编写、显示以及编辑Visual Basic【代码】。打开各模块的代码窗口后,可以查看不同窗体或模块中的代码,并且在它们之间做复制以及粘贴的动作。如图11-3所示。图11-3 【代码】窗口可以按照下列所述的方式,来打开【代码】窗口: 在工程窗口中,可以选择一个窗体或模块,然后选择【查看代码】按钮。 在【用户窗体】窗口中,可以双击控件或窗体;也可以从【视图】菜单中选择【代码窗口】,或者按下F7 键。在【代码】窗口中可以将所

30、选文本拖动到当前代码窗口中的不同位置,也可以拖动到其他的【代码】窗口或者立即窗口以及监视窗口,甚至【回收站】中。在【代码】窗口中,左上角的下拉列表框为【对象】框,用来显示所选对象的名称。用户可以按下列表框中的右边箭头,来显示此窗体中的对象。【对象】框右边的下拉列表框为【过程/事件】框,它列出了【窗体】或【对象】框所含控件中的所有Visual Basic 的事件。当选择了一个事件,则与事件名称相关的事件过程就会显示在代码窗口中。如果在【对象】框中显示的是【通用】,则【过程】框会列出所有声明,以及为此窗体所创建的常规过程。如果正在编辑模块中的代码,则【过程】框会列出所有模块中的常规过程。在上述两实

31、例中,在【过程】框中所选的过程都会显示在代码窗口中。模块中的所有过程会出现在一个单一滚动条的列表中,它们是按名称的字母来排列的。可以从代码窗口上端的下拉式列表中选取一个过程,此时指针会移到所选过程的第一行代码上面。将拆分栏向下拖放,可以将代码窗口分隔成两个水平窗格,两者都具有滚动条。可以在同一时间查看代码中的不同部分。显示在对象框以及【过程/事件】框中的信息,是以当前拥有焦点的窗格之内的代码为准。将拆分栏拖放到窗口的顶部或下端,或者双击拆分栏,都可以关闭一个窗格。代码窗口的左边的灰色区域为边界标识条,在此会显示出边界标识,在边界标识条上单击鼠标,可以在对应的行上添加断点。单击【过程查看】图标,

32、可以显示所选的过程,同一时间只能在【代码】窗口中显示一个过程。单击【全模块查看】图标,显示模块中全部的代码。= 11.2.1.2 【立即窗口】【立即窗口】在中断模式时会自动打开,且其内容是空的。用户可以在窗口中执行如下操作: 键入或粘贴一行代码,然后按下Enter 键来执行该代码。 从【立即窗口】中复制并粘贴一行代码到【代码】窗口中,但是【立即窗口】中的代码是不能存储的。【立即窗口】在调试程序过程中非常有用,用户如果要测试某个语法或者查看某个变量的值,就需要用到【立即窗口】。因为在【立即窗口】中,输入一行语句后按Enter 键即可执行,如图11-4 所示。 图11-4 在【立即窗口】中输入一条语句与运行的结果【立即窗口】可以拖放到屏幕中的任何地方,除非已经在【选项】对话框中的【可连接的】选项卡内,将它设定为停放窗口。可以按下关闭框来关闭一个窗口。如果关闭框不是可见的

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1