pen).Show”可显示Word的“打开”对话框。在前述代码中,如将该语句的返回值赋予Dialog变量,即可通过该变量返回或设置对话框的选项,代码如下所示:
Set testDialog = Dialogs(wdDialogFileOpen)
合理使用内置对话框可实现很多的功能,Word和Excel中提供接口的内置对话框非常多,限于篇幅,本文不做详细介绍,读者可参考VBA的联机帮助。
(四)窗体和相关控件对象
VBA的编辑器和VB非常类似,因此也提供了窗体和相关的控件,但又由于Office的特点使VBA中的窗体、控件和VB存在一些差异。
1.用户窗体知识点
窗体是程序实现和用户交互的接口,通过窗体不仅可改善程序的界面友好性,而且可进一步增强、完善程序的功能。在VBA编辑器中可创建用户窗体,在工程资源管理器中右键单击项目,在出现的菜单中选择“插入→用户窗体”命令,随后在设计界面中将显示默认窗体和控件工具箱,该控件工具箱和VB的控件工具箱很类似,如图3所示。
2.用户窗体常用控件
虽然VBA窗体开发所用的控件和VB较为类似,但其属性和方法和VB存在一定的差异:
(1)标签控件:该控件用于显示不可编辑的文本,默认属性为Caption属性,默认事件为Click事件。
(2)文本框控件:该控件用于显示可编辑的文本信息,是VBA开发中最常用编辑控件,默认属性为Value属性,默认事件为Change事件。
(3)复合框控件:该控件将列表框和文本框进行结合,用户可进行输入和列表框选择操作,默认属性为Value属性,默认事件为Change事件。
(4)列表框控件:该控件用于显示值列表,用户可选择一个或多个列表项,VBA中的列表框可通过列表形式和选项按钮或复选框的形式使用,默认属性为Value属性,默认事件为Click事件。
(5)复选框控件:该控件用于显示选择的状态,即允许用户从两个值(如True或False)中选择一个。如选择则将显示标记,默认属性为Value属性,默认事件为Click事件。
(6)选项按钮控件:该控件用于显示多选项中每一项的选择状态,默认属性为Value属性,默认事件为Click事件。
(7)切换按钮控件:该控件用于显示选择状态,默认属性为Value属性,默认事件为Click事件。
(8)框架控件:该控件用于创建功能或视觉角度的控件组,默认事件为Click事件。
(9)命令按钮控件:该控件用于启动、结束或中断操作,其Click事件是窗体编程中最常用的事件代码,默认属性为Value属性,默认事件为Click事件。
(10)表头控件:该控件用于将一系列相关控件显示为一个多表的集合,默认属性为SelectedItem属性,默认事件为Change事件。
(11) 多页控件:该控件用于将多页面的内容以单个控件的方式实现,在处理不同类别的大量信息时很有用,默认事件为Change事件。
(12)滚动条控件:该控件用于按滚动块位置,返回或设置变量值,默认属性为Value属性,默认事件为Change事件。如需创建横向或纵向的滚动条,可在窗体设计时横向或纵向拖动滚动条控制点。
(13)旋转按钮控件:该控件用于增加及减少变量数值,默认属性为Value属性,默认事件为Change事件。
(14)图像控件:该控件用于显示图片,其支持的图片文件格式包括:bmp、cur、gif、ico、jpg和wmf等,默认事件为Click事件。
在VBA窗体设计中,可将一些开发中使用的控件全部选择后,直接拖至工具箱中,工具箱会添加一个“控件组”,在窗体设计中可直接将该控件组放置于窗体,大大提高了效率(该特点为VBA所独有)。
如开发者需使用VBA标准控件箱未提供的其他控件,可右键单击工具箱,在出现的菜单中选择“附加控件”命令,在出现的对话框中进行选择即可。
3.用户窗体常用事件
用户窗体的常用事件和VB窗体有一定的区别。
(1)Initialize事件:该事件发生在加载对象后和显示对象前,通常在该事件中初始化变量值或设置控件的属性。
(2)QueryClose事件:该事件发生在用户窗体关闭前,通常在该事件中检查用户窗体中未完成的操作。
cancel参数:整型,如将该参数设置未非零值,则可阻止关闭用户窗体。
Closemode参数:该参数用于获取触发QueryClose事件的原因。
(3)Terminate事件:该事件将所有引用的对象变量设置为Nothing常量,即删除对象的引用。该事件发生在卸载对象后。如非正常退出程序,则不会触发。
(五)类模块
VBA开发也提供了类模块结构,使开发者可将常用操作通过类进行合理封装,实现代码的复用和程序的结构化。
1.创建类模块
VBA中创建类模块非常简单,在VBA编辑器的工程资源管理器中右键单击项目,在出现的菜单中选择“插入→类模块”命令,随后在“工程资源管理器”中会出现添加的类模块,默认名称为“类1”,单击该类模块,可设置其属性,一般需设置其“Name”属性,以方便使用。双击该类模块,即可按窗体的操作方法来输入代码。
2.类模块常用事件
类模块中包含Initialize和Terminate二个事件。
(1)Initialize事件:该事件用于初始化类模块所用的数据。当程序中创建类模块时触发该事件。
(2)Terminate事件:当程序中类实例从内存删除时触发该事件,且该事件仅在程序正常结束时触发。
三、Office XP开发对象知识详解
VBA程序的开发主要由大量的对象组成。这里,我们精选了常用的Office VBA开发常用对象的知识,以方便读者速查。
(一)Word 2002开发对象
1.Application对象
该对象代表 Word 应用程序,通过该对象可访问Word中的其他所有对象。
(1)ActiveDocument属性:返回Document对象,代表活动文档。
(2)ActivePrinter属性:返回或设置当前打印机的名称。
(3)ActiveWindow属性:返回Window对象,代表活动窗口。
(4)Documents属性:返回Documents集合,代表所有打开文档。
(5)Selection属性:返回Selectio
Set testDialog = Dialogs(wdDialogFileOpen)
合理使用内置对话框可实现很多的功能,Word和Excel中提供接口的内置对话框非常多,限于篇幅,本文不做详细介绍,读者可参考VBA的联机帮助。
(四)窗体和相关控件对象
VBA的编辑器和VB非常类似,因此也提供了窗体和相关的控件,但又由于Office的特点使VBA中的窗体、控件和VB存在一些差异。
1.用户窗体知识点
窗体是程序实现和用户交互的接口,通过窗体不仅可改善程序的界面友好性,而且可进一步增强、完善程序的功能。在VBA编辑器中可创建用户窗体,在工程资源管理器中右键单击项目,在出现的菜单中选择“插入→用户窗体”命令,随后在设计界面中将显示默认窗体和控件工具箱,该控件工具箱和VB的控件工具箱很类似,如图3所示。
2.用户窗体常用控件
虽然VBA窗体开发所用的控件和VB较为类似,但其属性和方法和VB存在一定的差异:
(1)标签控件:该控件用于显示不可编辑的文本,默认属性为Caption属性,默认事件为Click事件。
(2)文本框控件:该控件用于显示可编辑的文本信息,是VBA开发中最常用编辑控件,默认属性为Value属性,默认事件为Change事件。
(3)复合框控件:该控件将列表框和文本框进行结合,用户可进行输入和列表框选择操作,默认属性为Value属性,默认事件为Change事件。
(4)列表框控件:该控件用于显示值列表,用户可选择一个或多个列表项,VBA中的列表框可通过列表形式和选项按钮或复选框的形式使用,默认属性为Value属性,默认事件为Click事件。
(5)复选框控件:该控件用于显示选择的状态,即允许用户从两个值(如True或False)中选择一个。如选择则将显示标记,默认属性为Value属性,默认事件为Click事件。
(6)选项按钮控件:该控件用于显示多选项中每一项的选择状态,默认属性为Value属性,默认事件为Click事件。
(7)切换按钮控件:该控件用于显示选择状态,默认属性为Value属性,默认事件为Click事件。
(8)框架控件:该控件用于创建功能或视觉角度的控件组,默认事件为Click事件。
(9)命令按钮控件:该控件用于启动、结束或中断操作,其Click事件是窗体编程中最常用的事件代码,默认属性为Value属性,默认事件为Click事件。
(10)表头控件:该控件用于将一系列相关控件显示为一个多表的集合,默认属性为SelectedItem属性,默认事件为Change事件。
(11) 多页控件:该控件用于将多页面的内容以单个控件的方式实现,在处理不同类别的大量信息时很有用,默认事件为Change事件。
(12)滚动条控件:该控件用于按滚动块位置,返回或设置变量值,默认属性为Value属性,默认事件为Change事件。如需创建横向或纵向的滚动条,可在窗体设计时横向或纵向拖动滚动条控制点。
(13)旋转按钮控件:该控件用于增加及减少变量数值,默认属性为Value属性,默认事件为Change事件。
(14)图像控件:该控件用于显示图片,其支持的图片文件格式包括:bmp、cur、gif、ico、jpg和wmf等,默认事件为Click事件。
在VBA窗体设计中,可将一些开发中使用的控件全部选择后,直接拖至工具箱中,工具箱会添加一个“控件组”,在窗体设计中可直接将该控件组放置于窗体,大大提高了效率(该特点为VBA所独有)。
如开发者需使用VBA标准控件箱未提供的其他控件,可右键单击工具箱,在出现的菜单中选择“附加控件”命令,在出现的对话框中进行选择即可。
3.用户窗体常用事件
用户窗体的常用事件和VB窗体有一定的区别。
(1)Initialize事件:该事件发生在加载对象后和显示对象前,通常在该事件中初始化变量值或设置控件的属性。
(2)QueryClose事件:该事件发生在用户窗体关闭前,通常在该事件中检查用户窗体中未完成的操作。
cancel参数:整型,如将该参数设置未非零值,则可阻止关闭用户窗体。
Closemode参数:该参数用于获取触发QueryClose事件的原因。
(3)Terminate事件:该事件将所有引用的对象变量设置为Nothing常量,即删除对象的引用。该事件发生在卸载对象后。如非正常退出程序,则不会触发。
(五)类模块
VBA开发也提供了类模块结构,使开发者可将常用操作通过类进行合理封装,实现代码的复用和程序的结构化。
1.创建类模块
VBA中创建类模块非常简单,在VBA编辑器的工程资源管理器中右键单击项目,在出现的菜单中选择“插入→类模块”命令,随后在“工程资源管理器”中会出现添加的类模块,默认名称为“类1”,单击该类模块,可设置其属性,一般需设置其“Name”属性,以方便使用。双击该类模块,即可按窗体的操作方法来输入代码。
2.类模块常用事件
类模块中包含Initialize和Terminate二个事件。
(1)Initialize事件:该事件用于初始化类模块所用的数据。当程序中创建类模块时触发该事件。
(2)Terminate事件:当程序中类实例从内存删除时触发该事件,且该事件仅在程序正常结束时触发。
三、Office XP开发对象知识详解
VBA程序的开发主要由大量的对象组成。这里,我们精选了常用的Office VBA开发常用对象的知识,以方便读者速查。
(一)Word 2002开发对象
1.Application对象
该对象代表 Word 应用程序,通过该对象可访问Word中的其他所有对象。
(1)ActiveDocument属性:返回Document对象,代表活动文档。
(2)ActivePrinter属性:返回或设置当前打印机的名称。
(3)ActiveWindow属性:返回Window对象,代表活动窗口。
(4)Documents属性:返回Documents集合,代表所有打开文档。
(5)Selection属性:返回Selectio
| 对此文章发表了评论 |
