WORD-VBA编程-从零开始学VBA剖析.pdf

上传人:tbuqq 文档编号:4701741 上传时间:2019-11-27 格式:PDF 页数:28 大小:1,003.78KB
返回 下载 相关 举报
WORD-VBA编程-从零开始学VBA剖析.pdf_第1页
第1页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《WORD-VBA编程-从零开始学VBA剖析.pdf》由会员分享,可在线阅读,更多相关《WORD-VBA编程-从零开始学VBA剖析.pdf(28页珍藏版)》请在三一文库上搜索。

1、从零开始,步入Word宏编程的世界(第一讲) 工作中,经常看到许多朋友在使用Office 时已经非常地熟练,但仍不敢去接触Office 的 VBA 编程;在网 上 Office 的 VBA 编程论坛中, 同样看到有朋友在其中流连了相当长的时间,但仍然不得其门而入。问一下这 两类朋友,前者觉得编程是一件很“ 高深 ” 的事,自己恐怕学不会;后者为了提高自己的工作效率,虽然很想 学,但自己一点编程的基础也没有,照着网上高手们的帖子做,反而越学越糊涂。当我问第二类朋友为什么 不多看看 VBA 的帮助文件时,“ 看不大懂,就像有语言障碍一样。” 他这样回答我。 对于第一类朋友,我想说,不要被自己想象出

2、来的“ 困难 ” 吓倒,如果您没有亲自尝试过,怎么知道编程 会很 “ 高深 ” ,又怎么知道自己学不会?而第二类朋友如果能静下心来把基础知识补一补,相信您的问题也会 迎刃而解。 那么,就让我们从最基础的知识开始,步入Office 宏编程的世界吧。 文前的几点说明: 1、虽说本文用到的程序在office2007 与 office2010 中同样可以正常运行,但考虑到目前单位办公用机的 实际情况,本文所有的实例主要还是面向Office2003 的用户; 2、为了便于各位读者理清思路,避免文章涉及面太广,本文主要以office2003 中最常用的Word 为主进 行讲述,有与其它Office 套件相

3、关联的地方,将单独说明; 3、为避免学习过程中的枯燥乏味,本文没有像传统编程教材那样以理论知识为线索展开,而是将不同的 知识点放到了几个不同的实例之中进行讲述。所以,把每个实例“ 做” 一遍,细心体会每个实例的知识点,将 有助于您快速掌握VBA 的编程技术;单纯地“ 看” ,则无助于您的学习。 本文的宗旨是 完全面向初学者!或许您还能以此为契机叩开奔向VB6 0 或 VB.NET 的大门,说不 定您还能编出一、两个病毒玩玩儿(当然仅限于玩玩儿,千万别做出什么傻事来!) ! 好了,下面就开始我们Word 的 VBA 编程之旅吧,愿您旅途愉快! 实例一: “ 你好,世界! ” 知识点: 1、熟悉

4、VBE 的编程界面; 2、什么是VB 、VBE、VBA ; 3、什么是过程、工程。 不要以为这些知识点有多难,让我们一步一步地来。 启动 Word,指向工具 宏 VB 编辑器,打开VB 编辑器的界面,如图1-1。 “ VB 编辑器 ” 就是 VBE,VBE 是 Visual Basic Editing的缩写。我们在VBE 编程环境中所使用的编程语言 就是 “VBA ” ,即 Visual Basic for Applications的缩写, VBA 语言是我们所熟知的VB 编程语言的一个子集。 VBE 编辑器界面的菜单栏与工具栏就不必说了。界面左面中间部份是“ 工程资源管理器” 所在的 “ 工

5、程资源 管理区 ” ,每一篇 Word 文档中所编写的程序,Word 都把它看成为一个“ 工程 ” ,“ 工程资源管理器” 就是对这些 工程进行管理的地方;界面左下方是“ 对像属性设置区” ,我们可以对自己要用到的对像的属性进行设置,第 四个实例中,我们将对“ 属性设置 ” 进行详细解说,现在大家不必管它;界面右面大面积空白的区域是“ 代码编 辑区 ” ,我们编写的所有代码都放在这儿。如果看不到这个空白区域,则打开“ 插入 ” 菜单,插入一个“ 模块 ” 就 行了。如果 “ 工程资源管理器” 已有 “ 模块 ” ,则双击模块名,就能打开“ 代码编辑区 ” 。 好,现在我们就在这个VBE 环境下

6、,利用VBA 语言,来编写我们的第一个工程(即程序)。 请在 “ 代码编辑区 ” 中输入如下的代码: sub A () msgbox(“ 你好,世界!” ) end sub 注意,代码 “msgbox(“ 你好,世界! !“) ” 一句中的引号与括号为英文标点。点击工具栏上的黑色三角形的“ 播放 键” ,或按下F5 键运行这个程序,您将看到一个弹出的消息框。如图1-2。 代码解说: sub 是 VB 编程中申明一个过程的语句,sub A ( )申明了一个名叫A 的过程, A 后面跟了一个括号,它的 作用现在大家暂时不用管它。整段程序结尾的end sub 语句,表示过程“A” 在此结束。每一个程

7、序都必需有开 始与结束的标志,所以,从Sub A ( )到 End sub 就构成了一个完整的“ 过程 ” 。 Msgbox 是一个函数,它的作用是弹出一个消息框来,它后面括号中的内容就是要在弹出的消息框中显示 的内容。该函数在我们的第二个实例中,将做详细讲解。 本实例的知识扩展: 1、打开 Word,指向工具 宏,再点击 “ 宏” 按钮,打开 “ 宏名 ” 对话框。这时,我们就可以看到刚才我们 编写的名叫 “A” 的宏。选中 “A” ,点击 “ 运行 ” 按钮,就能运行该宏。 2、同上操作顺序,打开“ 宏名 ” 对话框,在 “ 宏名 ” 中新输入一个名字“ B”(注意没有引号) ,再点击 “

8、 创建 ” 按钮,这时就会打开VBE 编辑器,并已为我们生成了一个名为“B”的空过程。该过程中的绿色文字,就是这 个宏的注释。 (如果我们要对自己所编写的代码进行注释,可在注释语句的前面加上一个英文状态下的撇号, 该注释的语言是不会被程序运行的。)用这个方法创建过程,可以避免手工输入时疏忽掉程序结尾的End sub。 好了,实例一到此结束,回顾一下课前的知识点,都掌握了吗?如果觉得没有问题了,就准备进入我们 的第二个实例吧。 从零开始,步入Word宏编程的世界(第二讲) 实例二:基本的对话框函数 知识点:1、认识消息框函数MxgBox与输入框函数InputBox ; 2、什么是常量、什么是变量

9、、申明变量的方法是什么; 3 、用“ &”符号连接字符串。 想想我们平时与他人谈话时的形式你提问,他回答;或是他提问,你回答。我们所编写的程序, 在与计算机进行交互的过程中,其形式也是这样的一问一答。所以,几乎所有的编程语言都提供有直接与计 算机进行对话的函数,在VBA中,这样的最基本的函数是消息函数“MsgBox ”与输入框函数“ InputBox ”。 请输入以下代码并运行: = 还有待完善的程序一= sub B() Dim X X = inputbox(“您的姓名是:“) 。 Msgbox( “ 欢迎您 “ & X & “朋友! “) End Sub 注意:、在输入“ Msgbox( “

10、 欢迎您“ & X & “朋友! “) ”这行代码时,括号内几个字符串之间有空格,没 有输入空格的话会出错,出错时,代码将以红色显示。、本程序运行时如果点“取消”按钮,其实会出现 问题,关于对这个问题的解决方法,将在后面讨论。所以,我们先称本程序为“还有待完善的程序”。(朋 友们可以先试一下,看看会出现什么问题?)。 运行效果如图2-1 与图 2-2 。 看到了吗?这就是最简单的与计算机进行对话的效果。 代码解说: 从 Sub B() 到 End sub 就是一个完整的过程“B”。 “InputBox(“ 您的姓名是: “) ”这句代码是显示一个“输入框”,请您输入自己的姓名。这句代码事 实上

11、就是一个计算机提问,人回答的“对话”过程。其中,“InputBox ”函数的作用就是弹出一个输入框, 等待我们回答计算机的提问。 当然,我们在回答计算机时,可能填的是“老王”也可能填的是“老李”,这个答案本身是不固 定的,所以,我们将这个答案的值赋予“变量”“X”。这下,大家可能就知道“变量”的含意了吧?在 程序运行中,我们经常会遇到值不能确定,或者是可能会发生改变的某个数据,在这个时候,我们就用一个 “符号”来“代替”这个可能会变化的值,这个用来代替不能确定的值的“符号”,就是“变量”。 现在,我们删去本程序中的“Dim X”这句后,再运行一下试试效果。怎么样,是不是感觉不到区别?(如果 程

12、序报错说“没有申明变量”的话,没有关系,请接着看下面的内容。)在VBA语言中允许我们不申明变量 就直接运用它, 所以程序仍然能够正常运行。“Dim X”这句代码中的“ Dim”就是申明变量的函数,“Dim X” 就是申明了一个名叫“ X”的变量。在“ X=inputbox(“ 您的姓名是: “) ”这句代码中,我们利用等号,将输入 框中取得的值赋予给了变量“X”。 虽说我们不申明变量就可以使用它,但这绝对不是个好的习惯。首先,在一些代码较长的程序中, 您能保证那些名字较长的变量在后面用到时,您不会输错吗?其次,自己不申明变量,时间久了,那些较长 的程序可能会连您自己也看不懂;另外,程序在访问申

13、明过的变量时,速度会比访问没有申明过的变量要快 一些。 为了避免我们使用变量时出错,我们可以在VBE编辑器菜单的工具选项编辑器选项卡上,选中“要 求申明变量”(见下面图23、24),这样VBE会自动在我们每一个工程的前面加上一句“Option Explicit”,这句代码将检查我们所要使用的变量是否申明,没有申明的话就会中止程序的运行。做了上述 的操作后,我们再运行去掉“DimX”语句的过程,程序就会报“没有申明变量”的错误。 关于变量,还有一些其它的知识,我们将在实例三中进行更深一步的学习,现在就到这吧。 “Msgbox( “ 欢迎您 “ & X & “朋友! “) ”这句中的“ msgBo

14、x ”函数,大家已不陌生,它的作用就是 弹出一个消息框来(在本程序中,这个消息框就是计算机对我们输入姓名后的回答。)。 在这个消息框所显示的文字中包含了三个部分。字符串“欢迎您” 、 字符串“朋友! ”和变量“ X” 所可能对应的字符串“老王、老李”等。在VBA语言中,我们使用“ &”符号来连接字符串,所以我们在 程序运行最后,看到的是一个像图2-2 那样完整的欢迎语句。VBA语言中,在使用“ &”连接符号时,请一定 注意字符串与字符串之间有一个空格,否则程序一定会出错。 由于 MsgBox函数与 InputBox函数是两个非常常用的对话函数,所以,我们再对它进行更深一步的 学习。 使用 Ms

15、gBox函数时的标准格式: 变量 =MsgBox (”要显示在这儿的语句”, 按钮的参数 , ”消息框的题目”) 例子: Y= MsgBox(”欢迎您” & X & ”朋友!” ,0, ”这里是欢迎对话框”) 请注意格式中英文状态下的引号、逗号与空格的使用。 使用 InputBox函数时的标准格式: 变量=InputBox( “要显示的提示文本” , ” 输入框的题目” , ”输入框中默认显示的语句”) 例子: X= InputBox( “请输入您的姓名” , ”这里是输入对话框” , ”您的姓名请输入到这儿。”) 。 根据上面的格式,请修改本实例的程序代码为: = 还有待完善的程序二= Su

16、b B() Dim X Dim Y X = inputbox(“您的姓名是: “, ” 姓名输入框” , ” 您的姓名请输入到这儿。”) Y = Msgbox( “ 欢迎您 “ & X & “朋友! “,0, ” 这里是欢迎对话框 . ”) End Sub 本段程序应该很容易读懂吧?运行一下,看看与前面程序的区别在什么地方?再分别把MsgBox函 数的参数0替换为 0、1、 2、3、4、5 这几个参数并运行,看看又有什么不同?怎么样,对话框中给出的提示 是不是更丰富?下面的图2-5 与图 2-6 是 MsgBox函数的参数为“ 5”时的运行效果。(请与前面的图2-1 与 图 2-2 对比一下,

17、看看到底哪些地方有了变化?)。 程序写到这么详细,您是否已经觉得它已经很完善了呢?那么,在当程序要求您输入您的姓名时,如 果您选择了“取消”,会有什么现象呢?对,“取消”按钮同样会向程序返回一个值。为了使用函数时更灵 活一些, VBA将这些返回的值“固定”为以下的数值,这些在程序中被固定的值,就是“常数”。 MsgBox函数的常数如下: “确定”按钮被单击时,返回“1”;“取消”按钮被单击时,返回“2”;“终止”按钮被单击时, 返回“ 3”; “重试”按钮被单击时,返回“ 4”; “忽略”按钮被单击时,返回“ 5”; “是”按钮被单击时, 返回“ 6”;“否”按钮被单击时,返回“7”。 Inp

18、utBox函数在使用过程中,当人们输入了值的时候,选择“确定”或按下回车键,则返回输入框中 的内容,输入框中的内容显示不是“固定”的,也就是说它不是常数;但是,如果人们在要求输入之时选择 的是“取消”按钮,则会返回一个值,这个值是“空值”,注意“空值”并不是“零”。所以,InputBox函 数只有一个常数“空”。 下面,我们用:如果(If )、那么( Then)、否则( else )、结束( end if)判断语句来完善我们 今天的实例。关于“ If ”判断语句,不是本实例的学习重点,下节课我们将会详细介绍它。代码中必要的地 方已添加了注释(还记得为代码添加注释的方法吗?)。 = 完善后的B程

19、序 = Sub B() Dim X Dim Y X = InputBox(“您的姓名是:“, “ 姓名输入框 “, “ 您的姓名请输入到这儿。“) If X “ Then”中的“ d),还是猜小了(b 程序中数字的比较,是利用If语句来实现的。在实例二中,我们已接触过 If 语句, If语句的基本格式是: If (条件) Then( 结果)End If (结束If判断语句) 在 If 语句判断的过程当中,还可以有子判断语句:Elseif then 。 对于一个具有多重判断的语句,我们大致可以这样理解:如果(If ),那么( Then),否则 (Elseif),那么 (Then),再否则 (El

20、seif),那么( Then)( ElseIf根据情况可以套嵌很多层)最终(Else) ,结束判断 (End If )。 本实例的知识扩展: 1 、试一试自己在程序结尾处再添几句,判断所猜的次数:如果小于六次,给出一个评价“优”;等 于六次,给出一个评价“良”;大于六次,给出一个评价“您还需努力!”。 2 、试一试给程序补充部分内容,其功能为:在猜完一次后,询问游戏人“您还愿意再玩一次吗?”, 并根据游戏者的响应,再次运行程序或退出程序。 3 、如果在刚开始游戏让我们输入数字时,我们选择了“取消”就会出错,您现在能利用自己已有的 知识来解决这个问题吗? 好了,到这里,我们再回过头来看一看这个程

21、序,理解起来还有困难吗?本实例可能比前两个实例稍难一点。 如果您能顺利完成知识扩展中的问题题,那么祝贺您,您已过了入门的第一个小难关,可以进入下一步的实 例四了,如果您还存在疑问,则再请多动手把前三个实例练一练! 附:完善的猜数游戏 Sub 您猜 () Dim a, b, c, d, e, f e=6该数字用于计算所猜次数是否为优、良等 Do a = 0 Randomize b = Int(100 * Rnd) Do a = a + 1 c = InputBox(“请输入您所猜的数“) d = CInt(c) If b d Then MsgBox (“ 您猜的数小了“) Else: b = d

22、 MsgBox (“ 哈哈 , 您猜对了 !“) Exit Do End If Loop MsgBox (“ 您猜了 “ & a & “次!“) If ae MsgBox (“ 您还需努力!“) Elseif aMsgBox (“您的猜数能力:优!“) Else a=e MsgBox (“ 您的猜数能力:良!“) End if f=MsgBox (“ 您还愿意继续玩吗?“,4, ”继续游戏” ) 注意此处常数的使用 if f=7 then 注意此处消息框返回值的使用 exit do else end if loop End Sub 从零开始,步入Word宏编程的世界(第四讲) 实例四:窗体与基

23、本的控件 知识点: 1、窗体与控件的使用; 2、什么是“设计时”、什么是“运行时”; 3、了解什么是对像、属性、方法和事件。 扎实的基础知识是我们顺利掌握VBA编程语言的先决条件。说到基础知识, 我想告诉朋友们我们必 须建立起“面向对像”的编程思想。“面向对像”进行编程的思想实在是太重要了!我们所接触的所有事物 都是对像,都有属性,也都有属性值。如果您不相信?那么请看 您怎样来描述自己家里的电视机呢?它的身高?体重?住址?年龄?颜色?频道个数?声道个数? 音量大小?屏幕大小?分辨率?刷新率?对,这些都是电视机的“属性”,在这里,“电视机”就是一 个“对像”。 以下,假设我们生活在“VBA 编程

24、语言”当中,生活中的事物就是VBA的对像那么,我们怎样来 找出一个“对像”的属性,或是怎能样来对“对像”的属性进行赋值呢?看下面的程序: = 程序名“您想看几频道”= Sub 您想看几频道() Dim X X = InputBox(“请输入您想看的频道的值:”) 电视机频道 = X End Sub 运行这代码,输入您想看的频道的值,比如“10”或是“ 36”,那么,您就会看到10 频道或是36 频 道的节目。这里,“电视机”是对像,“频道”是它的属性,“10或 36”是它的属性值。在“对像”引用自 己的某个“属性”时,我们在它们之间用一个小圆点(英文的句号) 来表示, 具体的格式如代码“电视机

25、频 道 = X”中所示;设置值的时候,用等号来赋予它。 说到赋值, 您是不是想执行“电视机屏幕尺寸 = 100 吋”命令呢?呵呵,有些事物的属性值是“只 读”的,不能修改,比如电视机的重量等。 现在,我正在看一个节目,但我不知道这个节目所在的是几频道,怎么办呢?请看程序 = 程序名“当前频道是多少”= Sub 频道是多少() Dim 频道的值 频道的值 = 电视机当前频道 MsgBox ( “频道的值” ) End Sub 程序不难懂吧? 前一个程序“您想看几频道”中,我们是将“值”赋予对像的属性,后一个“频道是多少”程序中, 我们是取得对像属性的“值”。这两种类型的程序在使用时刚好相反,但,

26、它们在VBA编程语言中的运用几 乎可以说是无处不在!请一定要认真体会这两个程序中关于“对像”、“属性”与“值”之间的关系! 那么,什么又是事件和方法呢?对于电视机来说,当它的电源接通时就发生了“电源接通事件”,反 之,它的电源断掉时就发生了“电源断掉事件”。方法,则是指人对电视机进行的操作,比如,现在显示的 是 10 频道,我在电视机的频道调节按钮上,向前按了 5 次,则进入了15 频道。电视机支持使用“频道按钮” 进行“频道调节”的动作,就可以说成是它支持“用按钮调整频道”的“方法”,“5”就是这个方法的参数 (只要是您家里电视机所支持的值,当然都可以作为它的参数。)。 那位朋友说了“喂,大

27、哥, 我们可是在学习Office的 VBA编程语言啊! 怎么扯到电视机上去了?!” 好吧,我们来谈Office 。 Office是一个对像, Word 是一个对像,窗口是一个对像,文档是一个对像,段落、 标题、一行文字、一个字符、一个标点、一个表格、一个单元格无一不是对像!它们都有颜色、大小、 宽窄、数量、位置等等属性。我们利用VBA语言进行编程,不外乎就是为了控制某个对像的某个属性值 以方便我们的工作罢了! 对于对像、属性、方法、事件,我们先了解这么多,在实例六我们将继续对其进行学习。今天,我们 先试试这些知识在窗体与控件上的运用吧! 一、界面制作 1 、打开 VBE ,指向“插入”菜单,点

28、击“插入用户窗体”命令(也可以在工具栏中做同样的动作。), 窗体的名称默认为“ UserForm1 ”,如图41。 2 、点击控件工具箱按钮,打开控件工具箱,选中工具箱中的“按钮”控件,在窗体上“画”出一个 按钮控件(“按钮控件”就是控件工具箱中的那个方形的小块。),按钮的名称默认为“CommandButton1 ”。 二、属性赋值方法之一: 注意,下面进入今天的关键知识点: 1 、首先,双击做好的窗体或按钮,就会打开代码窗口。保证光标在窗体或按钮代码的正中间,按下 F5 键运行它,或在“运行”菜单中选择“运行用户窗体或子过程”命令运行它,看看效果。如图4-2 左面。 这里需要注意两点: A、

29、如果光标不在代码中间,而您的模块中又还存在其它的代码的话,运行时,VBE会让您选择要运行的 宏名称; B、 如果工程被锁定而不能运行的话,首先请在“工具宏安全性”对话框中把安全性设为“低”, 然后删除VBE中所有存在的代码,并关闭 Word,等一下再重新启动,重新开始本步的操作。当然, 如果您 VBE 中以前的代码需要保存的话,最好把它剪切到其它文本中去,要用时再复制过来。最后,千万记得在本实例 完成之后,把“安全性”改回为高,以避免宏病毒。 2 、右击按钮CommandButton1,选“属性”,(如果“属性”对话框本来就的打开的,则选中按钮 CommandButton1,然后直接修改属性就

30、行了。)在“属性”对话框中选“Caption ”,在右面的属性值中输入 “开始运行”。保存后,再次运行,看看与第步运行时相比,效果有什么不同?对,按钮上面的提示文字 已经改变成“开始运行”了。对比效果如图4-2 。 以上这两个步骤中, 需要我们应该掌握的知识就是“怎样在属性对话框中,对控件的属性进行赋值”。 下面,我们还要为控件的属性赋值,但赋值的方法有所不同,请注意体会以下赋值方法与上面的区别。 三、属性赋值方法之二 请撤消前面添加“开始运行”属性的操作,回到按钮表面提示文字仍然是“CommandButton1 ”时的状态, 双击“ CommandButton1 ”将打开“ CommandB

31、utton1 ”的代码窗口,代码窗口已为我们生成了控件被单击时的 空过程。现在,我们就在这个“CommandButton1 ”的Click事件(即按钮被单击的事件)空过程中,添加如 下的代码: = 用代码修改属性= Private Sub CommandButton1_Click() CommandButton1.Caption = “开始运行 “ End Sub 本实例之初,我们学习了为对像的属性赋值的格式,那么,您看到代码“CommandButton1.Caption = “ 开始运行 “”时, 应该不难理解吧?代码中的CommandButton1是指窗体上的那个按钮,如果有多个按钮的话,

32、 就会分别被命名为CommandButton2、CommandButton3 等等。如果要解释上面的程序,就应该是:当按钮 被“Click ”(单击)时,按钮的“Caption ”(提示文字)就被改变为“开始运行”。 运行本程序并单击按钮看看出现了什么效果?在按钮被单击前,运行的效果与第1 步一样(与图4-2 左面相同。);当按钮被单后,是不是与第2 步运行时的情况一样?(与图4-2 右面相同。) 第 2 步中,我们是“先设计好了”按钮的提示文字再运行;第3 步中,我们根本没有“设计”按钮的 提示文字,而是已经“在窗体运行的时候”利用了按钮的单击事件,改变了按钮表面的提示文字。对于第2 步中的

33、做法,我们称之为“设计时”修改控件,对于第三步中的做法,我们称之为“运行时”修改控件。 “设计时”修改控件的属性虽然更方便、更容量掌握,但它往往没有“运行时”修改控件属性那么 灵活。下面我们再做一个例子,动态改变按钮与窗体的属性值。再体会体会“运行时”修改属性值的灵活性。 将前面的代码修改如下: = 利用单击按钮事件,动态改变按钮名与窗体颜色= Private Sub CommandButton1_Click() If CommandButton1.Caption = “CommandButton1“ Then CommandButton1.Caption = “开始运行 “ ElseIf C

34、ommandButton1.Caption = “开始运行 “ Then CommandButton1.Caption = “点我干嘛,别烦我!“ ElseIf CommandButton1.Caption = “点我干嘛,别烦我!“ Then UserForm1.BackColor = RGB(255, 128, 128) CommandButton1.Caption = “想让我给你点颜色吗?“ ElseIf CommandButton1.Caption = “想让我给你点颜色吗?“ Then UserForm1.BackColor = RGB(0, 128, 64) CommandBut

35、ton1.Caption = “你真的不怕我变脸吗?“ ElseIf CommandButton1.Caption = “你真的不怕我变脸吗?“ Then UserForm1.BackColor = RGB(128, 0, 255) CommandButton1.Caption = “怕了你了,我逃!“ Else: CommandButton1.Caption = “怕了你了,我逃!“ Unload UserForm1“Unload”是窗体的一个方法,其作用是卸载窗体。 End If End Sub 本程序中用到了窗体的颜色属性(BackColor )及其属性值(RGB )的知识,我们在利用V

36、BA对 Word 中的文字进行修饰时,经常会用到颜色属性及其值的设置,这里正好学习一下。代码最后的“Unload”是窗 体的一个方法, 其作用是卸载窗体,与平时我们关闭窗体时按右上角最大、最小化按钮那里的“ X”按钮等价。 有卸载就有加载,加载并显示窗体的命令是“Show ”,该命令的使用格式是“窗体名.Show”。 本实例的知识扩展: 1 、朋友们在“设计时”属性设置中,下点功夫摸索摸索,尽快熟悉窗体、按钮的各种属性; 2 、本例只用到了“控件工具箱”中的按钮控件,其它的控件虽然在作用上各不相同,但在使用的方 法上与按钮控件没有什么大的区别,朋友们就自己尝试一下其它的控件吧; 3 、请您制作

37、一个窗体,上面加上两个按钮,一个按钮运行实例三中的游戏,另一个按钮退出游戏。 实例四到此结束,怎么样,有收获吗?下一个实例“Word版的媒体播放器”,将是我们前面知识的一个 集中练习,也将是一个会让您很有“成就感”的练习。还等得及吗? 从零开始,步入Word宏编程的世界(第五讲) 实例五: Word版的“媒体播放器” 知识点: 1、进一步熟悉VBE的操作界面; 2、学习使用窗体与控件进行编程; 3、学习运用附加的控件进行编程。 通过以上四个实例的学习,今天,我们终于迎来了激动人心的时刻编写一个“Word版的媒体播 放器”!“媒体播放器”大家不会陌生吧?对,就是开始程序附件娱乐中的“Media

38、player播 放器”!相信本实例会给您带来成就感!也算是对我们前四个实例辛苦学习的一点点回报吧!当然,在高兴 之余,千万不要忘了对本实例中知识点的学习。其实,本实例中,理论知识上的难度几乎没有,但操作上的 步骤却相当多,朋友们耐心一点。 步骤一:界面的制作 1 、回忆实例四中的操作方法,在VBE中添加一个窗体,窗体上添加两个按钮。将窗体的“Caption ” 属性改为“ Word 版媒体播放器”,再分别将两个按钮的“Caption ”属性改为“开始运行”与“结束程序”。 2 、右击控件工具箱,选“附加控件”,将“附加控件”面板的滚动条拖动到最底端,然后选中 “Windows Media pl

39、ayer ”控件。“确定”后,退出“附加控件”面板(图5-1 )。这时控件工具箱最下面 就多出了一个网格状的“Windows Media player ”控件。 3、选中“ Windows Media player ”控件,在窗体上按您的需要和喜好“画”出它将要显示的范围。 4 、现在,我们就可以利用“属性对话框”开始对整个窗体及窗体上所有的控件进行“美化”。“美 化”的内容就按您自己的喜好看着办好了,反正是“设计时”修改控件,不会影响最终程序的运行。我修改 了窗体和按钮的颜色,并修改了按钮上的字体以及字号和字色。最终的效果如图5-2 。 准备工作已就绪,开始编写代码了吧! 步骤二:编写代码

40、1、双击“开始运行”按钮,在VBE自动生成的空过程中输入如下代码: Private Sub CommandButton1_Click() 龙珠 2.mpg “ End Sub ( 注意 : office2003及以上版本,上句代码应该是:龙珠 2.mpg “ ,这 是因为在这些版本上,MediaPlayer控件的属性与方法已略有些变化了。) 代码解说: 关于“过程”,就不消多说了吧?“MediaPlayer1 ”就是我们在“设计时”所添加的“MediaPlayer 控件”。它尾巴上的“ 1”,指它是在本窗体上的第一个“MediaPlayer控件”。“ FileName”是 “MediaPlay

41、er1 ”的一个属性,这个属性的值就是将要播放的媒体文件的名称(还记得为属性赋值的格式吗? 这整句代码可是一个标准的赋值语句。)。等号后面大家就很清楚了是要播放的文件的路径与文件名。 当然,您的电脑上恐怕不会有“D:龙珠 2.mpg”文件的,您可要根据自己电脑上的实际情况输入这部 分的内容。 2 、双击“结束程序”按钮,在打开空过程中输入 Private Sub CommandButton2_Click() Unload UserForm1 End Sub 代码解说: 这段代码如果还需要解说的话,就请再看看实例四的后半部分内容。 完成前两步代码输入后,可以将光标定位于“开始运行”按钮的代码区正

42、中间,然后按下F5 键! 看到了什么?怎么样,有成就感吧?还没完呢!赶快“结束程序”编完最后的代码吧! 3 、回到 Word,指向工具宏,打开“宏名”对话框(不要告诉我, 你找不到这个对话框),在“宏 名”中输入“我的播放器”(没有引号),点击“创建”按钮,在VBE所生成空过程中输入 Sub 我的播放器 () UserForm1.Show End Sub 本段代码与上段代码一样,也无需解说了吧? 4 、回到 Word,打开工具自定义,拖动“命令”选项卡的滚动条到最底部,选中“类别”窗格中 的“宏”,再找到右边“命令”窗格中的“我的播放器”宏,左键按住它,不要让它跑掉(?),拖动它到 “任意”的

43、“菜单栏”或“工具栏”上,好,松左键,它跑不掉了(图5-3 )。保证它是被选中的,再回到 “命令”选项卡上,点击正中间的“更改所选内容”,把它的名字“美化”一下,或者再给它添一个图标, 怎么样,帅吧?!酷吧?!( 图 5-4) 5 、从此之后,王子和公主就在您的Word中哦?错了,应该是从此以后,您的Word中,就 多了一个可以播放Mpg 、Mp3 等等媒体的小妞啊,又错了,是“小钮”。当然,要播放的内容还得您 自己为它指定(写进代码中去)。 本实例的知识扩展: 1 、修改代码来确定媒体文件的路径及文件名不麻烦吗?难道您不愿意使用“输入框”? 2 、 有没有办法指定一个文件夹后,播放器就自动将

44、这个文件夹下的媒体文件一个一个地播放出来呢? 或者,将要播放的文件名写在一个文本文件中,让播放器一个一个地读出它的名字来播放呢? 3 、如果要求您不用“设计时”修改控件属性,而让您用“运行时”修改控件属性的方法,来制作步 骤一中的界面,您不愿意试一试吗? 4 、都有哪些附加控件?各附加控件的作用又都是什么呢? 本实例至此结束!VBA好玩吧?对我们的实例六,您是否已有所期待了呢? 从零开始,步入Word宏编程的世界(第六讲) 实例六: Word中的常用对像、属性、方法和事件 知识点:掌握Word中常用的对像并学习这些对像主要的属性、方法和事件。 在实例四中,我们已接触了对像、属性、方法和事件的基

45、本概念,今天,我们就来学习一下Word中的常 见对像以及它们的属性、方法和事件。本实例的内容稍微多了一些,为了便于朋友们的理解,以下将主要介 绍 Word 中最重要的几个对象、属性、 方法与事件。 要想得到更详细的内容,朋友们可以在完全掌握本实例后, 尝试看看VBA的帮助,在帮助文件中搜索“Microsoft Word 对象”即可。 本实例将重点介绍以下的对象,首先理清我们今天要学习的“对像”的结构层次 Application对像 :即 Office中您正在运行的程序本身,如Word 或 Excel 等。 Application对像是一个 应用程序中的“总对像”或者说是“顶级对像”。在Word

46、中, Application对像包含了程序中可能会存在的 其它所有对象,比如:所有的Word文档( Documents)、程序本身的工具栏与菜单栏(CommandBars )、程序 的窗口( Window)、程序的内置对话框(Dialogs)等等 Documents 对像: 即所有 Word文档的集合。该对像中每一个单独的文档,即是文档对像“Document”。 在 Documents 对像中,可以通过引用文档名字的方法来操作一个Document 对像。 Document 对像: Document 对像又具许多子对像。本实例主要介绍两个Range对象 (字符串对像,可 以是选定的一串字符或者是

47、一个字符)与Selection对象 (活动区域对像,可以是文档中选中的内容或者仅 仅是一个插入点);了解Paragraphs (段落集合对像)。 CommandBars对像: 即“命令栏”对像。它是Application中所有菜单栏与工具栏的集合。我们在编程 时,对菜单栏与工具栏的修改,都是通过操作“ComandBars ”对像来实现的。(由于该对像在VBA编程中特 别重要,我们将在实例七中单独对其进行介绍。) Application对像 、 Application对像的 Quit 方法 该方法用于退出应用程序(Application)。例如: = 关闭程序的代码= sub 关闭程序 ( )

48、Application. quit End sub 执行本段代码, 就会退出正在运行的Office程序(相应的Application对像, 可以是 Word、Excel 等)。 在实际工作中, Quit 方法可以用于提示用户保存所有目前打开的文档。下面例子中, 如果用户单击“是” 按钮,在退出 Word 前,所有打开的文档都将以 Word 格式进行保存。 = 退出时提醒的代码= Sub 退出时提醒保存 () Dim Tishi Tishi = MsgBox(“您要保存目前所有的文档吗?“, 4, “提示您保存文档“) If Tishi = 6 Then Application.Quit Sav

49、eChanges:=wdSaveChanges, OriginalFormat:=wdWordDocument End If End Sub 代码解释: MsgBox的参数“ 4”与返回值“ 6”,现在大家不会不明白了吧?“4”表示显示“是、否”两个按钮, “6”则表示操作者选择的是“是”按钮。代码“SaveChanges:=wdSaveChanges ”是指进行“保存”的操作; “OriginalFormat:=wdWordDocument ”则指定保存的格式为Word的文档格式。 关于“ Save”方法, 后面我们 将会进一步学习。 、 Application对像的 ActiveDocument属性 ActiveDocument属性返回一个Documen

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1