您的位置:首页 > 编程语言 > VB

VBA实用开发指南(2)

2007-11-02 16:20 537 查看
  (四)窗体和相关控件对象
  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属性:返回Selection对象,代表已选择的范围或插入点。

  (6)Windows属性:返回Windows集合,代表所有文档窗口。

  (7)Activate方法:用于激活指定的对象。

  (8)PrintOut方法:打印全部或部分的文档。

  (9)Quit方法:用于退出Word程序。

  2.Document对象

  该对象代表Word中打开的文档。通过"Documents(index)"的语法可获取Document对象,其中index参数代表文档的名称或索引号,此外还可用ActiveDocument属性获取当前编辑的文档。

  (1)AttachedTemplate属性:返回Template对象,代表活动文档关联的模板。

  (2)BuiltInDocumentProperties属性:返回DocumentProperties集合,代表指定文档的所有内置属性,如作者、主题或关键词等。

  (3)Characters属性:返回Characters集合,代表文档中的字符。

  (4)Tables属性:返回Tables集合,代表文档中所有的表格。

  (5)CheckGrammar方法:检查字符串是否存在语法错误。

  (6)CheckSpelling方法:用于检查字符串是否存在拼写错误。

  (7)ComputeStatistics方法:用于获取指定文档的统计数据,如字数、页数等。

  (8)PrintPreview方法:在打印预览和视图方式间进行切换。

  (9)Save方法:用于保存文档或模板。

  (10)Undo方法:用于撤消文档的最后一次操作。

  3.Bookmark对象

  该对象是Bookmarks集合中的元素,代表文档中的书签。通过"Bookmarks( index )"的语法可获取Bookmark对象,其中index参数代表书签名称或索引号。

  (1)Select方法:用于选择指定的书签。

  (2)Delete方法:用于删除指定的书签。

  4.Field对象

  该对象是Fields集合中的元素,代表文档中的域。通过"Fields(index) "的语法可获取Field对象。

  5.Template对象

  该对象是Templates集合中的元素,代表文档模板。通过"Templates(index)"的语法可获取Template对象。

  6.FontNames对象

  该对象代表有效的字体名称列表。通过FontNames、LandscapeFontNames 或 PortraitFontNames属性可获取FontNames对象。

  7.Options对象

  该对象代表 Word 的应用程序和文档选项。

  8.AutoTextEntries集合对象和AutoTextEntry对象

  AutoTextEntries集合对象由AutoTextEntry对象组成,代表模板中所有的"自动图文集"词条。AutoTextEntry对象代表单一的"自动图文集"词条。

  Insert方法:用于在指定的范围中通过插入"自动图文集"词条的方式来替换原内容。

  9.Selection对象

  该对象代表当前文档的选择内容,可为区域或插入点,每个文档仅有一个 Selection对象,且任意时刻仅可激活一个Selection对象,通过Selection属性可获取Selection对象。

  (1)Text属性:返回或设置所选内容中的文本。

  (2)Copy方法:将指定对象复制到剪贴板。

  (3)Paste方法:将剪贴板内容粘贴至选择区域。

  (4)TypeParagraph方法:用于插入新段落,等同于在编辑时按回车键。

  (5)TypeText方法:用于插入指定的文本。

  (6)WholeStory方法:用于扩展选择内容,并包含整个文字部分。

  (7)GoTo方法:将插入点移至指定位置。

  (8)HomeKey方法:等同于按下"Home"键。

  (9)EndKey方法:等同于按下"End"键。

  (二)Excel 2002开发对象
  1.Application对象

  该对象代表Excel应用程序,通过该对象可访问Excel中的其他所有对象。

  (1)ActiveCell属性:返回Range对象,代表活动窗口或指定窗口的活动单元格。

  (2)ActiveChart属性:返回Chart对象,代表活动图表。

  (3)ActiveSheet属性:返回WorkSheet对象,代表活动工作簿中的活动工作表。

  (4)ActiveWorkbook属性:返回Workbook对象,代表活动的工作簿。

  (5)Cells属性:返回 Range对象,代表活动工作簿中所有单元格。

  (6)Charts属性:返回Sheets集合,代表活动工作簿中所有图表。

  (7)Range属性:返回Range对象,代表单元格或单元格区域。

  (8)Sheets属性:返回Sheets集合,代表当前工作簿的所有工作表。

  (9)StatusBar属性:返回状态栏的文本。

  (10)Workbooks属性:返回Workbooks集合,代表所有打开的工作簿。

  (11)Worksheets属性:返回Sheets集合,代表活动工作簿的所有工作表。

  (12)Calculate方法:用于对指定区域的单元格进行计算。

  (13)Evaluate方法:用于将字符串的值进行转义操作,即可将以字符串表示的运算式进行求解的操作。

  (14)InputBox方法:用于显示接收输入的对话框,并返回对话框中输入的信息。

  (15)Quit方法:用于退出Excel应用程序。

  2.AddIn对象

  该对象代表加载宏,通过"AddIns(index)"语法可返回AddIn对象,其中index参数为加载宏标题或编号。

  FullName属性:返回加载宏的文件名。

  3.Chart对象

  该对象代表工作簿中的图表,包括嵌入式图表和单独的图表。

  (1)ChartArea属性:返回ChartArea对象,代表指定图表中的全部图表区域。

  (2)ChartTitle属性:返回ChartTitle对象,代表指定图表的标题。

  (3)ChartType属性:返回或设置图表的类型。

  (4)DataTable属性:返回DataTable对象,代表图表数据表。

  (5)Walls属性:返回Walls对象,代表三维图表的背景墙。

  4.Workbook对象

  该对象代表工作簿。

  (1)Styles属性:返回Styles集合,代表指定工作簿的所有样式。

  (2)Add方法:用于新建工作簿,并将其设置为活动工作簿。

  (3)Open方法:用于打开工作簿。

  (4)OpenText方法:用于载入文本文件,并将其进行分列处理,然后在工作表中插入经过分列处理的文本数据。

  5.Worksheet对象

  该对象代表工作表,通过"Worksheets(index)"的语法可获取Worksheet对象,其中index参数工作表索引号或名称。

  (1)AutoFilter属性:用于设置是否进行筛选。

  (2)UsedRange属性:返回Range对象,代表指定工作表中的已用区域。

  (3)PrintOut方法:用于打印指定的对象。

  (4)PrintPreview方法:将切换之打印预览视图。

  (5)Select方法:用于选择指定的对象。

  6.Range对象

  该对象代表选择区域,是Excel开发中一个常用的对象。

  (1)Address属性:返回对指定区域的引用名称。

  (2)Areas属性:返回Areas集合,代表多重选择区域中的所有区域。

  (3)Column属性:返回第一块指定区域中的第一列的序号。

  (4)Columns属性:返回Range对象,代表指定区域中的所有列。

  (5)ColumnWidth属性:返回或设置指定区域中所有列的列宽。

  (6)Formula属性:用于设置Range对象使用的公式。

  (7)MergeArea属性:返回Range对象,代表指定单元格的合并范围。

  (8)MergeCells属性:返回区域中是否包含合并单元格。

  (9)NumberFormat属性:返回或设置指定对象的格式代码。

  (10)Row属性:返回第一块指定区域中的第一行的序号。

  (11)Rows属性:返回Range对象,代表指定区域中的所有行。

  (12)Activate方法:用于激活对象。

  (13)ApplyNames方法:用于将名称应用于指定的单元格。

  (14)AutoFill方法:用于对指定的单元格进行自动填充。

  (15)AutoFit方法:用于将列宽和行高调整为适当值。

  (16)Find方法:用于在区域内查找特定信息,并返回代表第一个包含所查找信息的单元格。

  (17)Merge方法:用于从指定的Range对象中创建合并单元格。

  (18)Replace方法:用于在指定区域内查找和替换。

  (19)Subtotal方法:用于创建指定区域内的分类汇总。

  (三)PowerPoint 2002开发对象
  1.Application对象

  该对象代表PowerPoint应用程序,通过该对象可访问PowerPoint中的其他所有对象。

  (1)Active属性:返回指定窗格是否被激活。

  (2)ActivePresentation属性:返回Presentation对象,代表活动窗口中打开的演示文稿。

  (3)ActiveWindow属性:返回DocumentWindow对象,代表当前文档窗口。

  (4)Presentations属性:返回Presentations集合,代表所有打开的演示文稿。

  (5)SlideShowWindows属性:返回 SlideShowWindows集合,代表所有打开的幻灯片放映窗口。

  (6)Quit方法:用于退出PowerPoint程序。

  2.DocumentWindow对象

  该对象代表文档窗口。使用"Windows(index) "语法可返回DocumentWindow对象。

  (1)ActivePane属性:返回Pane对象,代表文档窗口中的活动窗格。

  (2)Panes属性:返回Panes集合,代表文档窗口中的所有窗格。

  (3)ViewType属性:返回指定的文档窗口内的视图类型。

  3.Presentation对象

  该对象代表演示文稿,通过"Presentations(index)"语法可返回Presentation对象。

  (1)BuiltInDocumentProperties属性:返回DocumentProperties集合,代表演示文稿的所有文档属性。

  (2)ColorSchemes属性:返回ColorSchemes 集合,代表演示文稿的配色方案。

  (3)PageSetup属性:返回PageSetup对象,用于控制演示文稿的幻灯片页面设置属性。

  (4)SlideMaster属性:返回幻灯片母版对象。

  (5)SlideShowSettings属性:返回SlideShowSettings对象,代表演示文稿的幻灯片放映设置。

  (6)SlideShowWindow属性:返回幻灯片放映窗口对象。

  (7)AddTitleMaster方法:为演示文稿添加标题母版。

  (8)ApplyTemplate方法:对演示文稿应用设计模板。

  4.SlideShowWindow对象

  该对象代表幻灯片放映窗口。

  IsFullScreen属性:用于设置是否全屏显示幻灯片放映窗口。

  5.Master对象
该对象代表幻灯片母版、标题母版、讲义母版或备注母版。

  TextStyles属性:为幻灯片母版返回TextStyles 集合,代表标题文本、正文文本和默认文本。

  6.Slide对象

  该对象代表幻灯片。

  (1)SlideID属性:返回幻灯片的唯一标识符。

  (2)SlideIndex属性:返回幻灯片在Slides集合中的索引号。

  7.SlideShowView对象

  该对象代表幻灯片放映窗口中的视图。

  (1)AcceleratorsEnabled属性:用于设置是否允许在幻灯片放映时使用快捷键。

  (2)CurrentShowPosition属性:返回当前幻灯片在放映中的位置。

  (3)DrawLine方法:在指定幻灯片放映视图中绘制直线。

  (4)EraseDrawing方法:用于清除通过DrawLine方法或绘图笔工具在放映中绘制的直线。

  (5)GotoSlide方法:用于切换指定幻灯片。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: