




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文Word2000 高级教程第十二章 利用VBA增强窗体的交互性可以利用对话框和窗体使Word 文档更加人性化,增强文档的交互性。可以使用Word 内置的对话框,也可以自定义对话框。也可以在窗体中增加反映用户的如进行鼠标单击或者按下键盘等事件的代码,以响应用户的各种操作。& 12.1 使用对话框对话框有Word 内置的对话框,用户也可以自定义需要的对话框。( 12.1.1 显示Word 内置对话框用Visual Basic 可显示一个内置对话框以获取用户输入,或者控制Word.Dialog 对象的Show 方法显示和处理任一来自Word 内置对话框的操作。通过指定WdWordDialog 常量的Dialogs 属性可访问某一Word 内置对话框。例如,下列宏显示【打开】对话框。Dialogs(wdDialogFileOpen).Show选定文件并单击【确定】按钮后,文件被打开(该操作被执行)。下例显示打印对话框。Dialogs(wdDialogFilePrint).Show设置DefaultTab 属性可以访问Word 对话框的特定制表符位置。下例显示【格式】菜单下【边框和底纹】对话框中的页边框项。With Dialogs(wdDialogFormatBordersAndShading).DefaultTab =wdDialogFormatBordersAndShadingTabPageBorder.ShowEnd WithDisplay 方法显示对话框但不处理来自对话框的操作。如果要用对话框来提示用户并返回设置,此方法比较有用。例如,下列宏指令显示【选项】对话框中的【用户信息】选项卡,并且返回和显示用户名称。With Dialogs(wdDialogToolsOptionsUserInfo).DisplayMsgBox .NameEnd With如在上例中修改了用户名称,则这个变化不会影响对话框的设置。用Execute 方法可以执行一个对话框中的设置,但不显示该对话框。下例显示了【用户信息】对话框,如果名称不是空字符串,则使用Execute 方法设置对话框中的项目。With Dialogs(wdDialogToolsOptionsUserInfo).DisplayIf .Name Then .ExecuteEnd With( 12.1.2 返回和修改对话框设置返回或修改对话框设置之前, 需要标识对话框。用带有WdWordDialog 常量的Dialogs 属性完成这一操作。下例返回一个参考格式菜单中段落对话框的Dialog 对象。Set myDialog = Dialogs(wdDialogFormatParagraph)获得Dialog 对象后即可返回或设置对话框中的选项。下例显示从段落对话框获得的右缩进值。Set myDialog = Dialogs(wdDialogFormatParagraph)Msgbox Right indent = & myDialog.RightIndent许多Word 内置对话框具有这样的参数,它们可使用户从对话框中取值或对其进行设置(例如,上例中的RightIndent)。返回对话框设置的同时,还可以设定对话框的设置。下例在【段落】对话框中的【与下段同】复选框做了标记。With Dialogs(wdDialogFormatParagraph).KeepWithNext = 1.ExecuteEnd With上例将【与下段同】检查框设为有效,并用Execute 方法设置了对话框中的值。下列Visual Basic 指令和上例的四条指令等价。Selection.Paragraphs(1).KeepWithNext = True对于修改用属性或方法设置的值而言,用Dialog 对象并非有效。用户可用Update 方法确定对话框中的值是否和当前值一致。如果已经在宏中设置了对话框变量的值,只需要返回或修改当前设置,可用Update方法。( 12.1.3 预定对话框设置上例返回和设定了对话框的值,但没有显示该对话框。用户还可在用Show 方法前,修改Word 内置对话框的设置。例如,可在显示【编辑】菜单中的【替换】对话框之前修改要查找的文字。下例显示【替换】对话框,并在【查找内容】编辑框中填入【Blue】。With Dialogs(wdDialogEditFind).Find = Blue.ShowEnd With下例显示【打开】对话框及所有文件名。With Dialogs(wdDialogFileOpen).Name = *.*.ShowEnd With( 12.1.4 检查一个对话框的关闭方式由Show 和Display 方法返回的值显示了对话框关闭时所单击的按钮。下例显示【分隔符】对话框,如单击【确定】按钮,则在状态栏中显示一条消息。If Dialogs(wdDialogInsertBreak)Show = -1 ThenStatusBar = Break insertedEnd If表12-1 列出了返回的值与显示对话框关闭时所单击的按钮的关系。表12-1 返回的值与显示对话框关闭时所单击的按钮的关系描述描述-2【关闭】按钮-1【确定】按钮0(零)【取消】按钮 0(零)一个命令按钮,1为第一个按钮,2为第二个按钮,依次类推( 12.1.5 自定义对话框创建一个自定义对话框非常简单,方法如下:(1)打开Visual Basic 编辑器,选定一个文档的工程。(2)单击【插入】菜单中的【用户窗体】命令,此时弹出一个名为UserForm1 的窗体,并自动弹出一个工具箱。(3)根据需要,在工具箱中选择相应的控件,绘制需要的对象,如图12-1 所示。图12-1 自定义窗体(4)选中某个对象,单击右键,在弹出的快捷菜单中选择【属性】菜单项,打开【属性】窗口,设置各个对象的属性。如字体、显示的标题、名称等。设置完毕后,就可以在某个过程中调用自定义的对话框,调用的语句是:UserForm1.show如果要使对话框中的两个按钮响应用户的操作,还需要为它们添加代码。方法是:双击该按钮,即可打开【代码】窗口,然后选择相应的事件,添加合适的代码,如图12-2 所示。图12-2 为窗体对象添加代码如果需要,还可以对窗体中的各个对象的各个事件添加代码,以使对象响应不同的事件。其中窗体本身也是一个对象,一样有各种不同的事件,也需要设置其相应的属性。具体的操作方法,用户可以参考有关的Visual Basic 编程的书籍。按下F5 键,或者有个过程调用了该对话框,即可显示如图12-3所示的对话框,输入正确的密码后单击【确定】按钮,即可弹出相应的消息框。图12-3 用户自定义的对话框如果单击【退出】按钮,将退出该对话框。& 12.2 使用窗体对象、集合和控件用户可以在设置窗体时使用【控件工具箱】在窗体中插入各种不同的控件,并在这些对象的某些事件添加处理代码,以使这些对象响应用户的不同操作。下面首先介绍如何在窗体中插入各种对象。(1)新建一个文档,对着工具栏单击右键,在弹出的快捷菜单中选中【控件工具箱】。(2)在【控件工具箱】工具栏中按下按钮,使文档处于设置状态。(3)把光标移到需要插入控件的位置,在【控件工具箱】工具栏单击相应的控件。(4)重复步骤(3),即可插入多个不同的控件,如图12-4 所示。图12-4 在窗体中插入对象从图中可以看出,插入的对象显示的都是默认的名称,还没有什么意义,下一节介绍如何设置修改各种对象的名称。& 12.3 为窗体对象设置属性如果要设置修改各种对象的名称,就需要设置各个对象的属性。方法是选中该对象,单击【控件工具箱】工具栏中的【属性】按钮,即可弹出该对象【属性】对话框,每个对象的属性有许多相同的选项,也有不少不同的选项。下面以文字框的属性为例,介绍各个属性的意义,如图12-5 所示。属性框中的属性项目可以按字母顺序排列,也可以对它们根据功能分类后再排序。 图12-5 【属性】对话框(文字框) ScrollBars 属性:指定一个控件、窗体或页面是否有垂直或水平滚动条,或两者都有。Text 属性:返回或设置文本框的文本。如果是组合框或列表框则改变组合框或列表框中选定的行。BackColor 属性:规定对象的背景色。 BackStyle 属性:返回或设置对象的背景方式。其语法为:object.BackStyle = fmBackStyleBackStyle 属性的语法包含如表12-2 所示的几个成分。表12-2 Backstyle 属性的语法成分成分成分描述Object必需。有效对象fmBackStyle可选。指定控件背景fmBackStyle 的设置值如表12-3 所示。表12-3 fmBackStyle 的设置值常数值描述fmBackStyleTrans0背景为透明parentfmBackStyleOpaque1背景为不透明(默认值) BorderColor 属性:设置对象的边框颜色。 BorderStyle 属性:返回或设置文字框的边框的方式。 ForeColor 属性:设置前景颜色。 PasswordChar 属性:如果当前在后面输入一个符号,如星号“*”,那么该文字框就类似一个输入密码的文字框,每输入一个字符,都以星号来显示。 SpecialEffect 属性:指定对象的外观。fmSpecialEffect 的设置值如表12-4 所示。表12-4 fmSpecialEffect 的设置值常数值描述fmSpecialEffectFlat0对象显示为平面的,借助于边框、颜色的变化或二者的共同变化,与周围的窗体相区别。该值为图像和标签的默认值;对所有控件均有效fmSpecialEffectRaised1对象的上边和左边高亮,下边和右边具有阴影。fmSpecialEffectSunken2对复选框和选项按钮无效对象的上边和左边具有阴影,下边和右边高亮。控件及其边框显示好象刻入所在的窗体似的。复选框和选项按钮的默认值;fmSpecialEffectEtched3对所有控件有效(默认)边框显示为沿着控件边缘被雕刻。对复选框和选项按钮无效mSpecialEffectBump6对象下边和右边隆起,而上边和左边显示为平面的。对复选框或选项按钮无效对于框架,默认值是Sunken。需要注意的是,复选框、数值调节钮和切换按钮只接受Flat 和Sunken (0 和2)。而其他控件可接受所列的全部值。 Value 属性:定义某给定的控件的状态或内容。 AutoSize 属性:规定对象是否自动调整大小以显示其完整的内容。 AutoTab 属性:用来规定当用户在文本框或组合框的文本框区域输入最大允许字符数时,是否自动跳格。 AutoWordSelect 属性:指定是采用单词还是采用字符,来作为扩展选定内容的基本单元。 Enabled 属性:设置控件是否可用,即是否响应用户的操作。 EnterKeyBehavior 属性:定义在文本框中按下Enter 键的结果,如果为True,按Enter 键将创建一个新行;如果为False,按Enter 键,将焦点移到Tab 键顺序的下一个对象(默认)。 HideSelection 属性:指定当控件没有焦点时被选定的文本是否保持突出显示。 IntegralHeight 属性:指定列表框或文本框是显示列表中全部文本行还是显示部分行。 Locked 属性:指定一个控件能否被编辑。 MaxLength 属性:规定用户可以在文本框或组合框中输入的最多字符数。若将MaxLength 属性设置为0,表明只要内存允许则没有限制。 MultiLine 属性:规定控件能否接受和显示多行文本。 SelectionMargin 属性:规定用户能否通过单击文本左边区域来选中一行。 TabKeyBehavior 属性:决定是否允许制表符出现在编辑区。 TextAlign 属性:定义控件中文本的对齐方式。 WordWrap 属性:指出一个控件的内容在行末是否自动换行。(名称)属性:用来标识该控件,与显示无关,但在程序代码中通过该标识来调用该对象。 DragBehavior 属性:指定系统是否允许在文本框或组合框中执行拖放功能。 EnterFieldBehavior 属性:指定进入文本框或组合框时的选择行为。fmEnterFieldBehavior 的设置值如表12-5 所示。表12-5 fmEnterFieldBehavior 的设置值常数值描述常数值描述fmEnterFieldBehavior SelectAll0进入控件时选定编辑区域的全部内容(默认)fmEnterFieldBehavior RecallSelection1保持不变的选择。实际上,所用的是控件上次激活时起作用的选择 Height 属性:用来表明对象的高度。 IMEMode 属性:指定进入文本框或组合框时的选择行为。为控件指定输入法编辑器(IME)的默认的运行时间模式。这个属性只用于为远东地区编写的应用程序,在其他应用程序中被忽略。 MouseIcon 属性:为对象指定一个自定义的图标。 MousePointer 属性:指定当用户把鼠标放到特定对象上时,所显示鼠标指针的类型。 Width 属性:用来表明对象的宽度。 Font 属性:用来设置对象文字(如果有文字要显示的话)的字体。关于其他对象的属性,这里就不一一讲述,用户可以参考其他相应的书籍。需要说明的是,作为控件容器的文档窗体(ThisDocument)也是一个对象,用户也可以设置它的属性,使其更适合用户的实际需要。设置完成后的窗体如图12-6 所示。图12-6 设置完成后的窗体& 12.4 调用窗体对象的方法用户在图12-6 中可以看到,如果仅仅只靠设置对象的属性,还不能设置出满意的窗体。如列表框和组合列表框的选项就无法通过设置属性来设置。此时需要调用对象的各种方法来设置。对象的方法很多,对象不同,方法也不尽相同。列表框和组合列表框都有一个AddItem 方法,通过调用这个方法,即可在列表框和组合列表框中加入相应的选项。为了在文档打开时能够自动对窗体的对象进行初始化,可以在AutoOpen 过程中调用,其代码如下:Public Sub AutoOpen()ListBox1.AddItem 党员ListBox1.AddItem 团员ListBox1.AddItem 民主党派ListBox1.AddItem 无党派人士ComboBox1.AddItem 北京ComboBox1.AddItem 广西ComboBox1.AddItem 广东ComboBox1.AddItem 陕西ComboBox1.AddItem 山西ComboBox1.AddItem 山东End Sub通过以上代码,在打开文档时如果设置了运行自动宏,即可显示如图12-7 所示的界面。图12-7 加了列表项目的窗体如果【选项】对话框的【编辑器】选项卡中设置了【自动列出成员】复选框,那么在输入某个对象的名称后输入“.”,即可在屏幕上列出该对象的方法和属性,图12-8 所示的是自动组合列表框的成员。图12-8 自动列出成员对象的方法前面由图标来标识,其他的为该对象的属性。下面介绍VBA 中经常用到的一些方法及其意义。l Add 方法用于在TabStrip 或多页中添加或插入一个标签或页,或通过其程序设计标识符(ProgID)在页或窗体中添加控件。语法:对于多页和TabStrip :Set Object = object.Add( Name ,Caption , index)对于其他控件:Set Control = object.Add( ProgID , Name ,Visible)Add 方法的语法包括表12-6 所示成分。成分描述object必需。有效对象名Name可选。指定被添加的对象的名称。如果没有指定名称,系统将根据使用该窗体的应用程序的规则产生一默认的名称Caption可选。指定在标签或控件上出现的题注。如果没有指定题注,系统将根据使用该窗体的应用程序的规则产生一默认的题注index可选。表示页或标签在 Pages或 Tabs 集合中的位置。若没有规定索引,系统会将页或标签添加Pages或Tabs集合的末尾,并赋于它相应的索引值ProgID必需。程序设计标识符。是用于标识对象类的、没有空格的 文 本 串 。ProgID的 标 准 语 法 是.。ProgID 会被映射为类标识符(CLSID)Visible可选。若对象为可见的(这是默认方式)则为 True;若对象为隐藏的则为 False表12-6 Add 方法的语法成分。l AddItem方法对于单列的列表框或组合框,在列表中添加一项。对于多列的列表框或组合框,在列表中添加一行。d语法:Variant = object.AddItem item , varIndexAddItem方法的语法有表 12-7 所示的成分。成分描述object必需。有效对象Item可选。指定要添加的项或行。第一个项或行的编号为 0;第二个项或行的编号为1,依次类推varIndex可选。整数,指定新的项或行在对象中的位置表 12-7 Add Item方法的语法成分l Clear 方法从一个对象或集合中删去所有对象。语法:object.Clearobject 为必需的有效对象。l Copy 方法将对象的内容复制到剪贴板上。语法:object.Copyobject 为必需的有效对象。l Cut 方法从一个对象中删除选定的信息并将它送到剪贴板。语法:object.Cutobject 为必需的有效对象l DropDown 方法显示组合框的列表区。语法:object.DropDownobject 为必需的有效对象。在组合框中使用DropDown 方法打开组合框中的列表。l GetFormat 方法返回一个整数值,表明指定的格式是否在DataObject 上。语法:Boolean = object.GetFormat(format)GetFormat 方法的语法成分如表12-8 所示。表12-8 GetFormat 方法的语法成分成分描述object必需。有效对象format必需。整数或字符串,用来表示可能存在于 DataObject 之中的特定格式。如果特定的格式存在于 DataObject 之中,则GetFormat返回 True设置format 的设置如表12-9 所示。表 12-9 Format 的设置值设置值描述1文本格式字符串或任何非的整数由 SetText传递到 DataObject 的用户自定义的DataObject格式l GetFromClipboard 方法从剪贴板复制数据到DataObject。语法:String = object.GetFromClipboard( )说明DataObject 可以包含多个数据项,但每个数据项必须有不同的格式。例如,DataObject 可以包含一个文本项和用户定义项,但不能同时有两个文本项。l GetText 方法用特定的格式在DataObject 中检索一文本串。语法:String = object.GetText( format)GetText 方法的语法成分如表12-10 所示。成分描述object必需。有效对象名format可选。字符串或整数,用来指定要在 DataObject 中检索的数据的格式表12-10 Item 方法的语法成分说明DataObject 支持多种格式,但只支持每种格式的一个数据项。例如,DataObject 可能包含一个文本项和一个自定义格式的项;但不能包含两个文本项。如果不指定格式,GetText 方法要求从DataObject 中得到文本格式的信息。l Item 方法返回集合的一个成员,无论按位置,还是按名称。语法:Set Object = object.Item(collectionindex)Item 方法的语法成分如表12-11 所示。表12-11 Item 方法的语法成分成分描述object必需。有效对象collectionindex必需。集合中成员的位置或索引collectionindex 可以是字符串,也可以是整数。如果是字符串,则必须是一个有效的成员名。如果是一个整数,其最小值为0,而最大值比集合中的项目数少1。l Move 方法移动一个窗体或控件,或者移动Controls 集合中的所有控件。语法:对于窗体或控件object.Move( Left , Top , Width , Height , Layout)对于Controls 集合object.Move(X, Y)Move 方法的语法成分如表12-12 所示。成分描述object必需。有效对象名Left可选。单精度值,以磅为单位,表示对象左边缘的横坐标Top可选。单精度值,以磅为单位,表示对象上边缘的纵坐标Width可选。单精度值,以磅为单位,表示对象的宽度Height可选。单精度值,以磅为单位,表示对象的高度Layout可选。布尔量,表示在这次移动之后控件的父对象是否初始化 Layout事件。其默认值为 FalseX, Y必需。单精度值,以磅为单位,指定了 Controls 集合中每个控件的当前水平和垂直位置的变化量Left、Top、Width、Height、X 和Y 参数的最大值和最小值,随应用程序的不同而不同。l Paste 方法把剪贴板上的内容传送到一个对象。语法:object.Paste说明将粘贴到组合框或者文本框中的数据作为文本来处理。粘贴方法若用于窗体,可将任何对象粘贴到窗体上。l PutInClipboard 方法将数据从DataObject 移到剪贴板上。l RedoAction 方法其作用与目前大多数撤消操作相反。语法:Boolean = object.RedoAction说明重复取最后一个撤消操作的相反结果,这个撤消不一定是最后一个采取的动作。不是所有的操作都能撤消的。例如,往文本框中粘贴文本之后,然后选择【撤消】命令删除这段文本,那么用【重复】命令又可以把这段文本放回去。如果RedoAction 成功,它返回True。l Remove 方法从集合中删除一个成员,或者从框架、页面或窗体中删除一个控件。语法:object.Remove(collectionindex)Remove 方法的语法成分如表12-13 所示。成分描述object必需。有效对象collection index必需。成员在集合内的位置或索引。可以是数字,也可是字符串。如果该值是数字,则最小值为 0,最大值比集合中的成员数少 1。若该值为字符串,则必须对应有效的成员名说明:此方法只删除在运行时间添加的控件。但如果想删除在设计时间添加的控件,则会出错。l RemoveItem 方法从列表框或组合框的列表中删去一行。语法:Boolean = object.RemoveItem indexRemoveItem 方法的语法有以下几个成分:表12-14 RemoveItem的语法成分成分描述object必需。有效对象index必需。指定要删除的行。第一行的行号为 0,第二行的行号为1,依此类推如果列表框被数据连接(也就是,当RowSource 属性为列表框规定了数据源时),此方法不能从该列表中删去一行。l Repaint 方法重画窗体或页,更新显示。语法:Boolean = object.Repaint说明:倘若一个对象的内容或者外貌严重地改变了,而且不想等待到系统自动重画这个区域。那么Repaint 方法很有用。l Scroll 方法移动对象上的滚动条。语法:object.Scroll( ActionX , ActionY)Scroll 方法的语法如表12-15 所示。表12-15 Scroll 的语法成分成分描述object必需。有效对象名ActionX可选。标识水平方向发生的动作ActionY可选。标识垂直方向发生的动作设置:ActionX 和ActionY 的设置见表12-16。表12-16 ActionX 和ActionY 的设置值常量值描述fmScrollActionNoChange0不在指定的方向上滚动fmScrollAction LineUp1在垂直滚动条中的向上移动或在水平滚动条中的向左移动与按键盘上的上箭头或左箭头进行移动是相同的fmScrollActionLineDown2在垂直滚动条中的向下移动或在水平滚动条中的向右移动与按键盘上的下箭头或右箭头进行移动是相同的fmScrollActionPageUp3在垂直滚动条中的向上移动一页或在水平滚 动 条 中 的 向 左 移 动 一 页 与 按 键 盘 上 的Page Up键进行移动是相同的fmScrollActionPageDown4在垂直滚动条中的向上移动一页或在水平滚 动 条 中 的 向 左 移 动 一 页 与 按 键 盘 上 的Page Down键进行移动是相同的fmScrollActionBegin5在垂直滚动条中向上移动到页首或在水平滚动条中向左移动到结尾fmScrollActionEnd6在垂直滚动条中向下移动到底或在水平滚动条中向右移动到结尾l SetDefaultTabOrder 方法用默认的自上向下和自左向右的Tab 键顺序来为窗体上的每个控件设置TabIndex 属性。语法:object.SetDefaultTabOrder说明:Microsoft 窗体设置的Tab 键顺序是从窗体左上角的控件开始,向右移动。离窗体左边缘越近的越是排在Tab 键顺序的前面。如果有不止一个控件到窗体左边界的距离相同,那么Tab 键顺序的值便自上向下地分配,谁在上面谁就在前面。l SetFocus 方法将焦点移动到对象的实例中。语法:object.SetFocus说明:若设置焦点失败,焦点又回到原来的对象上,并产生一个错误。在默认情况下,设置焦点到一个控件并不激活该控件的窗口,也没有将其置于其他控件的上面。SetFocus 方法对于空的框架以及包含其他控件的框架都有效。空的框架自身接受焦点,任何后续的键盘事件都作用于该框架。在包含其他控件的框架中,焦点移到该框架中的第一个控件,后续的键盘事件皆作用于拥有焦点的控件。l SetText 方法用特定的格式复制文本串到DataObject。语法:object.SetText(StoreData , format)SetText 方法的语法成分如表12-17 所示。表12-17 SetText 方法的语法成分成分描述object必需。有效对象StoreData必需。定义存储在 DataObject中的数据format可选。整数或字符串 ,规定StoreData的 格 式 。从DataObject 中检索数据时,该格式标识需检索的数据段。值为1时为文本格式,值为字符串或非1的整数值,为用户自定义的 DataObject格式l StartDrag 方法初始化针对DataObject 的拖放操作。语法:fmDropEffect=Object. StartDrag(Effect as fmDropEffect)StartDrag 方法的语法成分如表12-18 所示。表12-18 StartDrag 方法的语法成分成分描述Object必需。有效对象Effect可选。放置操作对目标控件所起的作用Effect 的设置如表12-19 所示。表12-19 Effect 的设置值常量值描述常量值描述fmDropEffectNone0没有将放置源复制或移动到放置目标fmDropEffectCopy1将放置源复制到放置目标fmDropEffectMove2将放置源移动到放置目标fmDropEffectCopyOrMove3将放置源复制或移动到放置目标说明:拖动操作开始于当前鼠标指针位置以及当前键盘状态,而结束于用户释放鼠标按键。拖动操作的最终效果取决于为放置目标所选的作用。例如,控件的MouseMove 事件可能包含StartDrag 方法。当用户单击控件并移动鼠标时,鼠标箭头将改变,以示Effect 对于放置目标是否有效。l UndoAction 方法与最近的动作(必须是支持【撤消】命令的)相反的动作。语法:Boolean = object.UndoActionl ZOrder 方法将对象放在z-顺序的前面或后面。z 顺序是在窗体的z 轴(深度)方向上,窗体上的控件的视觉层次。z 顺序可决定什么控件在其他控件之前。语法:object.ZOrder( zPosition)ZOrder 方法的语法成分如表12-20 所示。表12-20 ZOrder 方法的语法成分成分描述object必需。有效对象zPosition可选。控件位置,在容器的 z-顺序的前面还是后面zPosition 的设置如表12-21 所示。表12-21 zPosition 方法的设置值常量值描述fmTop0把控件放在 z-顺序的最前面。该控件将出现在其他控件的上面(默认值)fmBottom1把控件放在 z-顺序的最后面。该控件将出现在其他控件的下面说明:当几个窗体和控件出现在用户面前时,z-顺序决定它们的层叠方式。在z-顺序后面的项被它前面的项遮盖;在z-顺序前面的项总出现它后面的项的上面。当zPosition 参数被略去时,对象便被带到了前面。在【设置】模式中用【置前】或【置后】命令设置z-顺序。【置前】命令与使用ZOrder 方法将对象放在z-顺序之前的效果相同。【置后】命令与使用ZOrder 方法将对象放在零序号之后的效果相同。该方法不影响Controls 集合中控件的内容或顺序。注意:叠放命令(如【置后】或【置前】命令)不能重复或撤消。例如,若选择一个对象并单击快捷菜单上的【下移一层】命令,则该操作将不能重复或撤消。& 12.5 调用窗体对象的事件为了响应用户的操作,需要调用相应的对象的事件。每个对象有不同的事件,各个对象的事件又有不同的事件。调用事件的方法很简单,如果是想调用对象的Click(鼠标单击)事件,可以在【设置模式】下双击该对象,即可显示代码窗口,允许用户输入其中输入事件的执行代码。在代码窗口中,也可以在【对象】列表框中选择需要的对象后,在【过程】列表框中选择需要的事件。如图12-9 所示。图12-9 调用对象事件关于各个对象的具体事件不再一一叙述,下面以为窗体中的【关闭文档】按钮添加Click 事件和为文字框添加LostFocus 事件为例,介绍如何为对象添加基本的事件。在窗体中,文字框是用来输入姓名的,为文字框添加LostFocus 事件,可以在用户输入姓名完毕后,当焦点转到其他控件时,文字框失去焦点。产生LostFocus 事件的步骤为: (1)在代码窗口中,在【对象】列表框中选择TextBox1。(2)在【过程】列表框中选择LostFocus。(3)输入代码,如下所示:Private Sub TextBox1_LostFocus()MsgBox TextBox1.Text, vbOKOnly, 你的姓名是:显示一个消息框,显示用户刚输入的文字End Sub为【关闭文档】按钮添加事件的步骤如下:(1)在代码窗口中,在【对象】列表框中选择CommandButton2。(2)在【过程】列表框中选择Click。(3)输入代码,如下所示:Private Sub CommandButton2_Click()Dim Msg, Style, Title, Help, Ctxt, Response, MyStringMsg = 你真的要关闭本文档,不要后悔啊? 定义信息。Style = vbYesNo + vbQuestion + vbDefaultButton2 定义按钮。Title = 确认关闭文档 定义标题。Help = 定义帮助文件,为空。Ctxt = 定义标题,为空上下文。显示信息。Response = MsgBox(Msg, Style, Title, Help, Ctxt)If Response = vbYes Then 用户按下“是”。WordBasic.FileClose 完成某操作。Else 用户按下“否”。End If通过对事件的引用,就大大增强了Word 窗体的交互性。当用户在文字框输入“笑嘻嘻”后转移焦点时,会显示如图12-10 所示的【你的姓名是:】对话框,当单击【关闭文档】按钮时,会显示【确认关闭文档】对话框,如图12-10 所示。用户单击【是】按钮,将关闭该文档,如果窗体还没有保存,会提示用户保存窗体;单击【否】按钮,将返回文档。 图12-10 响应用户的操作事件& 12.6 利用VBA 处理表格表格功能是Word 一个非常重要的功能,也是用户经常使用的一项功能,在Word 2000 中,增加了不少新的功能。如果利用VBA 自动处理表格将使用户的效率有极大的提高。( 12.6.1 向表格单元格插入文字下面的代码向活动文档的第一个表格的第一个单元格插入文字。Cell 方法返回单个的Cell 对象。Range 属性返回一个Range 对象。Delete 方法用来删除现有的文字,而InsertAfter 方法用来插入Cell 1,1文字。If ActiveDocument.Tables.Count = 1 ThenWith ActiveDocument.Tables (1) .Cell ( Row:=1,Column:=1).Range.Delete.InsertAfter Text:=Cell 1,1End WithEnd If( 12.6.2 在表格中插入文字下面的代码在文档的开头插入一张3 行4 列的表格。For Each.Next 结构用来循环遍历表格中的每个单元格。在For Each.Next 结构中,InsertAfter 方法用来向表格单元格(Cell 1、Cell 2 等等)添加文字。Set oDoc = ActiveDocumentSet oTable=oDoc.Tables.Add(Range:=oDoc.Range(Start:=0,End:=0),NumRows:=3, NumColumns:=4)iCount = 1For Each oCell In oTable.Range.Cells oCell.Range.InsertAfter Cell & iCountiCount = iCount + 1Next oCelloTable.AutoFormat Format:=wdTableFormatColorful2,ApplyBorders:=True, ApplyFont:=True,ApplyColor:=True( 12.6.3 显示每个单元格的内容下面的代码返回并显示文档第一张表格第一行中每个单元格中的内容。Set oTable = ActiveDocument.Tables(1)For Each aCell In oTable.Rows(1).CellsSet myRange = ActiveDocument.Range(Start:=aCell.Range.Start,End:=aCell.Range.End - 1)MsgBox myRange.TextNext aCellSet oTable = ActiveDocument.Tables(1)For Each aCell In oTable.Rows(1).CellsSet myRange = aCell.RangemyRange.MoveEnd Unit:=wdCharacter, Count:=-1MsgBox myRange.TextNext aCell( 12.6.4 将文本转换为表格下面的代码在活动文档的开头插入以制表符分隔的文本,然后将这些文本转换为一张表格。Set oRange1 = ActiveDocument.Range(Start:=0, End:=0)oRange1.InsertBefore one & vbTab &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高三上半学期化学知识总结
- 塔里木大学《医学检验仪器与临床实验室管理》2023-2024学年第一学期期末试卷
- 2025至2031年中国建筑专用型材行业投资前景及策略咨询研究报告
- 2025至2031年中国内置号角喇叭行业投资前景及策略咨询研究报告
- 2025年商场租赁合同
- 济宁铁路隔音屏施工方案
- 2025至2030年中国进水三通数据监测研究报告
- 2025至2030年中国薄荷素油数据监测研究报告
- 2025至2030年中国祛黑嫩白霜数据监测研究报告
- 2025至2030年中国液态感光丝网抗蚀剂数据监测研究报告
- 低空经济的技术发展趋势:飞行器技术创新与发展
- 车间防火吊顶施工方案
- 2021年东营市专业技术人员公需科目试题及答案
- 不良资产债权转让与收购业务模式合作方案
- 24秋国开《西方行政学说》形考任务1学习活动(二)答案(第1套)
- 《跨境电子商务零售进口商品清单》
- 防汛抗旱知识培训材料
- 临时用地复垦措施施工方案
- 军队文职人员转正述职报告
- 大学生劳动教育(微课版)全书教案
- 湖南省长沙市2024年中考英语真题(含答案)
评论
0/150
提交评论