使用Visual Basic 编辑器.1

来源:百度文库 编辑:神马文学网 时间:2024/04/27 21:37:30
使用Visual Basic 编辑器.1  上面已经讲到,Word 在VBA 编程语言中把宏录制为一系列的 Word 命令,然后在 Visual Basic 编辑器中打开已录制的宏,修改其中的指令。也可用 Visual Basic 编辑器创建包括 Visual Basic 指令的非常灵活和强有力的宏,而那些指令是无法采用录制的方法的。
     在Word 中打开Visual Basic 编辑器的方法是:指向【工具】菜单中的【宏】菜单项,然后从其级联菜单中单击【Visual Basic 编辑器】命令,即可打开如图11-2 所示的Visual Basic 编辑器。

注意:
     如果用此命令打不开Visual Basic 编辑器,说明文档和Normal 模板可能已经被宏病毒感染了,因为一般的宏病毒都会把【Visual Basic 编辑器】命令屏蔽。此时可以把当前用户的Normal 模板删除,用没有被感染的Normal 代替或者不要Normal 模板,然后再重新打开Word,就可以打开Visual Basic 编辑器。
     下面简单介绍一下Visual Basic 编辑器的方法。

11.2.1 利用好窗口
     Visual Basic 编辑器中根据不同的对象,设置了不同的窗口。如果能恰当地使用这些窗口,可以使编程效率有极大的提高。Visual Basic 编辑器中主要的窗口包括代码窗口、立即窗口、本地窗口、对象浏览器、工程资源管理器、属性窗口、监视窗口以及工具箱和用户窗体窗口等。

11.2.1.1 【代码】窗口
     可以使用【代码】窗口来编写、显示以及编辑Visual Basic【代码】。打开各模块的代码窗口后,可以查看不同窗体或模块中的代码,并且在它们之间做复制以及粘贴的动作。如图11-3 所示。

     可以按照下列所述的方式,来打开【代码】窗口:
  • 在工程窗口中,可以选择一个窗体或模块,然后选择【查看代码】按钮
  • 在【用户窗体】窗口中,可以双击控件或窗体;也可以从【视图】菜单中选择【代码窗口】,或者按下F7 键。
     在【代码】窗口中可以将所选文本拖动到当前代码窗口中的不同位置,也可以拖动到其他的【代码】窗口或者立即窗口以及监视窗口,甚至【回收站】中。
     在【代码】窗口中,左上角的下拉列表框为【对象】框,用来显示所选对象的名称。用户可以按下列表框中的右边箭头,来显示此窗体中的对象。
     【对象】框右边的下拉列表框为【过程/事件】框,它列出了【窗体】或【对象】框所含控件中的所有 Visual Basic 的事件。当选择了一个事件,则与事件名称相关的事件过程就会显示在代码窗口中。
     如果在【对象】框中显示的是【通用】,则【过程】框会列出所有声明,以及为此窗体所创建的常规过程。如果正在编辑模块中的代码,则【过程】框会列出所有模块中的常规过程。在上述两实例中,在【过程】框中所选的过程都会显示在代码窗口中。
     模块中的所有过程会出现在一个单一滚动条的列表中,它们是按名称的字母来排列的。可以从代码窗口上端的下拉式列表中选取一个过程,此时指针会移到所选过程的第一行代码上面。
     将拆分栏向下拖放,可以将代码窗口分隔成两个水平窗格,两者都具有滚动条。可以在同一时间查看代码中的不同部分。显示在对象框以及【过程/事件】框中的信息,是以当前拥有焦点的窗格之内的代码为准。将拆分栏拖放到窗口的顶部或下端,或者双击拆分栏,都可以关闭一个窗格。
     代码窗口的左边的灰色区域为边界标识条,在此会显示出边界标识,在边界标识条上单击鼠标,可以在对应的行上添加断点。
     单击【过程查看】图标,可以显示所选的过程,同一时间只能在【代码】窗口中显示一个过程。
     单击【全模块查看】图标,显示模块中全部的代码。

11.2.1.2 【立即窗口】
     【立即窗口】在中断模式时会自动打开,且其内容是空的。用户可以在窗口中执行如下操作:
  • 键入或粘贴一行代码,然后按下Enter 键来执行该代码。
  • 从【立即窗口】中复制并粘贴一行代码到【代码】窗口中,但是【立即窗口】中的代码是不能存储的。
     【立即窗口】在调试程序过程中非常有用,用户如果要测试某个语法或者查看某个变量的值,就需要用到【立即窗口】。因为在【立即窗口】中,输入一行语句后按Enter 键即可执行,如图11-4 所示。

     【立即窗口】可以拖放到屏幕中的任何地方,除非已经在【选项】对话框中的【可连接的】选项卡内,将它设定为停放窗口。
     可以按下关闭框来关闭一个窗口。如果关闭框不是可见的,可以先双击窗口标题行,让窗口变成可见的。
注意:
     在中断模式下,立即窗口中的语句,是根据显示在过程框的内容或范围来执行的。举例来说,如果键入Print variablename,则输出的就是局域变量的值。这和在程序中止时Print 方法在正在执行的过程产生一样。

11.2.1.3 【本地窗口】
     可自动显示出所有在当前过程中的变量声明及变量值。若【本地窗口】为可见的,则每当从执行方式切换到中断模式或是操纵堆栈中的变量时,它就会自动地重建显示,如图 11-5 所示。

     下面介绍窗口中各对象的意义:
     【调用堆栈】按钮:打开【调用堆栈】对话框,它会列出调用堆栈中的过程,如图11-6 所示。

     【表达式】:列出变量的名称,不能在此编辑数据。
     列表中的第一个变量是一个特殊的模块变量,可用来扩充显示出当前模块中的所有模块层次变量。对于类模块,会定义一个系统变量。对于常规模块,第一个变量是 。全局变量以及其他工程中的变量,都不能从【本地窗口】中访问。
     【值】:列出所有变量的值。所有的数值变量都应该有一个值,而字符串变量则可以有空值。
     当按下【值】字段中的一个值,指针就会变成 “I”形,且值会被点划线包围。可以编辑一个值,并且按下 ENTER 键,向上键,向下键,TAB 键,SHIFT+TAB 键或用鼠标在屏幕上单击,使编辑生效。如果这个值是非法的,则所编辑的字段的值会以突出显示,并且会出现一个错误信息框来提示,此时可以按下 ESC 键来中止更改。
     拥有子变量的变量可以被扩充或折叠起来。折叠起来的变量不会显示一个值,而变量每一次会显示一个值,并且出现在变量的左边。
     【类型】:列出变量的类型,不能在此编辑数据。

11.2.1.4 对象浏览器
     显示出对象库以及工程的过程的可用类、属性、方法、事件及常数变量。用户可以用它来搜索及使用既有的对象,或是来源于其他应用程序的对象。单击【视图】菜单中的【对象浏览器】命令或者按F2 键,即可显示如图11-7 所示的【对象浏览器】对话框。

     【搜索文本】框包含要用来做搜索的字符串。可以键入或选择所要的字符串。搜索文本框中包含最后四次输入的搜索字符串,直到关闭此工程为止。在键入字符串时,可以使用标准的 Visual Basic 通配符。如果要查找完全相符的字符串,可以用快捷菜单中的【全字匹配】命令。
     输入搜索的字符串完毕后单击【搜索】按钮,即可激活类或属性、方法、事件或常数等符合在【搜索文本】框中键入字符串的库搜索,并且打开有适当信息列表的【搜索结果】框。
     如果单击【显示/隐藏搜索结果】按钮,可以打开或隐藏【搜索结果】框。【搜索结果】框改变成显示从【工程/库】列表中所选出的工程或库的搜索结果。搜索结果会默认地按类型创建组并从 A 到 Z 排列。

11.2.1.5 工程资源管理器
     工程资源管理器是Visual Basic 编辑器中用以显示VBA 项目成员的窗口。VBA 项目成员是指与用户文档相关的用户自定义窗体(Form)、模块(Modules)和Office 2000 对象(Microsoft Object)等。窗体、模块和Office 2000 对象等的集合构成了VBA 项目。VBA 项目成员以树形结构显示,以便于用户查看和使用VBA 项目及其成员。工程资源管理器显示与用户在Office 2000 中打开的每一个文档相关的VBA 项目。例如,在Word 2000 中,若用户打开了三个文档,那么工程资源管理器将显示与这三个文档有关的VBA 项目,如图11-8 所示。

     在图11-8 所示的工程资源管理器中,每一个文档构成了一个独立的VBA 项目。与文档相关的模块、工作表、窗体等均被视为一个独立的对象(VBA 项目成员)。工程资源管理器允许用户方便地选择要使用的对象。在用户选择了要编辑的对象以后,Visual Basic 编辑器自动打开相关的工具。例如,当用户选择了一个窗体时,该窗体以及窗体工具栏将显示在屏幕上;当用户选择了ThisDocument 对象时,ThisWorkbook 代码窗口将显示在屏幕上。
     工程资源管理器为用户提供了以下两种选择和编辑对象的方法:
  • 双击要选择的对象。
  • 首先单击要选择的对象,然后单击鼠标右键,在弹出的快捷菜单中选择【查看代码】或【查看对象】命令