“窗体”工具栏控件和“控件工具箱”控件基础
(fanjy版主原创) 在工作表菜单“视图——工具栏”或在菜单栏点击右键,在下拉菜单中有两个内容比较相似工具栏,即“窗体”工具栏和“控件工具箱”工具栏,如下图所示。
窗体:
控件工具箱:
其中: “窗体”工具栏有16个命令按钮,依次为:标签、编辑框,分组框、按钮、复选框、选项按钮,列表框、组合框,组合式列表编辑框、组合式下拉编辑框,滚动条、微调项,控件属性、编辑代码,切换网格、执行对话框。
4.1、一些概念 控件是放置于窗体上的一些图形对象,可用来显示或输入数据、执行操作或使窗体更易于阅读。这些对象包括文本框、列表框、选项按钮、命令按钮及其他一些对象。控件提供给用户一些可供选择的选项,或是某些按钮,单击后可运行宏程序。 Microsoft Excel 有两种类型的控件。ActiveX 控件即控件工具箱控件适用于大多数情况,与 Microsoft Visual Basic for Applications (VBA) 宏和 Web 脚本一起工作。“窗体”工具栏上的控件与 Excel 5.0 以后的 Excel 早期版本都是兼容的,并且能在 XLM 宏工作表中使用。 ActiveX控件一般为完全可编程的对象,开发者能够使用它们在原应用程序基础上创建自定义的应用程序。 4.2、Excel中的两类控件
◆ 窗体工具条中的控件 这类控件在Excel工作表中是可用的,它们不是ActiveX控件,与控件工具箱中的控件不一样,并且不如ActiveX控件灵活。但是,对大多数Excel用户来说,这种差异基本上不妨碍他们对控件的使用。 您如果需要在工作表中录制所有的宏并指定给控件,但又不愿在 VBA 中编写或更改任何宏代码,那么您可以使用“窗体”工具栏中的控件。您还可以在图表工作表中使用“窗体”工具栏上的控件。 可以在工作表窗体上使用这些控件,而其他用户则可以使用Excel来填写工作表窗体。您能通过菜单“视图——工具条——窗体”命令打开窗体工具条,接着只需在该工具条中单击您想使用的控件,然后在工作表中单击即可放置控件在工作表中。您能在该控件上单击右键,选择“指定宏”将宏程序指定给控件。如果该控件是一个命令按钮,在您放置控件在工作表中时,会立即弹出要求您“指定宏”对话框,您可以为该按钮控件指定宏,当然,您也可在以后为该控件指定宏。在指定宏后,当用户单击该控件时,控件将运行宏。此外,在控件上单击右键,选择“设置控件格式”命令,您可以对控件进行格式设置,但是“标签”控件和“命令按钮”控件的控件格式设置页中没有“控制”卡选项。 对不同类型的控件,可利用的选项也不同。除了“标签”控件和“命令按钮”控件以外,您都能将一个控件与工作表中的一个单元格相链接。这样,当您使用该控件时,相关值将会出现在单元格中。就“组合框”控件、“列表框”控件、“滚动条”控件和“滑动条”控件来说,其值为数字。例如,如果您将一个组合框与单元格A1相链接并将数据源区域设置为B2:B11,那么每次从组合框中选取一个项目时,在相链接的单元格A1中将以数字显示该项目在组合框中的位置,即当您在组合框中选中第个2项目时,单元格A1中显示2。如果与单元格相链接的是一个“选项按钮”控件或者是“复选框”控件,那么当您使用该控件时,与控件下链接的单元格将显示True(选中)或False(未选中)。 您可以在公式中使用链接的单元格值获取您相要的结果。例如,如果您使用一个链接到单元格A1中的组合框,源数据区域为B1:B11且在区域C2:G11中包括有您想要查找的数据,然后使用VLOOKUP函数根据单元格A1中的值返回D列中相应的结果,公式如下: =VLOOKUP($A$1,$B$2:$G$11,3,False) 或者如果您将单元格区域命名(建议这样做),则公式如下: =VLOOKUP(ComboLink,DataTable,3,False) 上面所提到的内容是Excel用户经常要用到的。您可以花些时间来试验这些控件,将会发现有很多好的用法和技巧。但是,“窗体”工具栏控件不能像 ActiveX 控件一样用于控件事件。此外,在网页中不可使用“窗体”工具栏控件运行 Web 脚本。 ◆ 控件工具箱中的控件
这些控件都是ActiveX控件,它们比窗体工具条中的控件要更灵活,是VBE中用户窗体控件的子集,在Excel工作表中和VBE编辑器中都是可用的,尤其在要对使用控件时发生的不同事件进行控制时。我们能捕获这些控件的事件,这也是其灵活的主要原因。这些事件可能是单击、双击、变化(例如对组合框控件项目进行新的选择),用户能离开这个控件并转移焦点到另一个控件或返回到Excel界面,等等。 ActiveX控件也有一个长的属性列表,如字体(Font)、标题(Caption)、名称(Name)、单元格链接(Linked Cell)、高度(Height),等等。这些属性取决于控件的类型,但所有控件都有诸如名称(Name)属性和一些其它的属性。 ActiveX 控件也具有可自定义的属性。例如,可指定当用户指向控件时指针的外观。您可编写宏,响应与 ActiveX 控件相关的事件。可在 Excel 窗体上和 VBA 程序窗体和对话框中使用 ActiveX 控件。 在使用控件时,如果不使用带有控件事件的VBA代码,则很少使用ActiveX控件;如果您不熟悉VBA,您应该选择使用窗体工具条控件。ActiveX 控件与在Visual Basic编程语言中使用的控件相类似,是可以添加到Visual Basic编辑器自定义窗体中的控件。将 ActiveX 控件添加到工作表中时,您应编写引用控件标识号的宏代码,而不是分配在单击控件时要运行的宏。当窗体的用户使用控件时,将运行您编写的宏代码来处理发生的任何事件。当添加一个ActiveX控件到工作表中时,它被内嵌入工作表成为工作表的一个对象成员,并自动处于“设计模式”,允许我们对控件进行处理而不会引发控件事件。为了能捕获控件的任何事件,该事件程序应放置在工作表对象的模块中,您能(在处于设计模式时)通过在控件上双击进入代码模块,并显示出该控件的缺省过程。为了指定您想要的事件过程,您也可以在代码模块编辑器右上方的事件过程下拉列表中选择相应的事件过程。 但是,不可在图表工作表或XLM宏工作表中使用控件。对于这些情况,您应使用“窗体”工具栏上的控件。如果要从控件直接运行附加的宏,最好也应使用“窗体”工具栏控件。 对于要放到网页上的Excel窗体和数据,可包含ActiveX控件,并可编写在Web浏览器中使用控件时要运行的Web脚本(而不是宏代码)。还可通过使用Microsoft脚本编辑器编写 VBScript 或JavaScript形式的脚本。 4.3、窗体工具条控件介绍
用于显示文本信息。
在现行版本的Excel中不可用,提供此控件是为了使用Excel 5.0工作表。
将相关控件进行组合,如选项按钮控件或复选框控件。其有一个3D阴影属性,可以三维阴影效果显示组合框。
用于单击时运行相应的宏过程。
可选中一个或同时选中多个复选框,以打开或者关闭某选项。其值确定复选框的状态,即该复选框是处于未选择、已选择或混合状态;单元格链接即是返回复选框状态值的单元格,若选中复选框,则与其相链接的单元格值为True;若未选择复选框,则与其相链接的单元格值为False;若复选框处于混合状态,则与其相链接的单元格值为#N/A;若与其相链接的单元格为空,则Excel认为复选框状态为False。选中3D阴影将以三维阴影效果显示复选框。
可从几个选项中仅选中一个。其值确定选项按钮的状态,即该按钮是处于选中还是未选中状态。单元格链接将在与其相链接的单元格中返回选项组中选定的选项按钮的编号。您应对选项组中的所有选项应使用相同的“单元格链接”单元格,这样可将其返回的数字用在公式或宏中,从而响应所选的选项。如果所创建的个人窗体中含有两个选项按钮,分别标记为“专职”和“兼职”,您可以将这两个按钮链接到 C1 单元格上。如果选中第一个选项按钮,下面的公式显示“专职”;如果选中第二个选项按钮,则显示“兼职”。
显示项目列表。其中数据源区域为对单元格区域的引用,列表框中显示了该区域的数值;单元格链接为与列表框控件相链接的单元格,将显示列表框中选定的项目的编号(列表框中的第一项为1),可在公式或宏中使用此数字来从数据源区域中返回实际的项。例如,如果某个列表框链接到 C1 单元格,且其数据源区域为 D10:D15,那么下面的公式将基于列表中选定的内容,从数据源区域 D10:D15 中返回相应的值:=INDEX(D10:D15,C1)
是一个下拉列表框,在此列表框中选中的项目将显示在文本框中。其中数据源区域为对单元格区域的引用,下拉列表框中是显示了该区域的数值;单元格链接为与组合框控件相链接的单元格,显示在组合框中选定的项目的编号(列表中的第一项为1)。可在公式或宏中使用此数字来从数据源区域中返回实际的项,例如,如果某个组合框链接到 C1 单元格,且其数据源区域为 D10:D15,那么下面的公式将基于列表中选定的内容,从数据源区域 D10:D15 中返回相应的值: =INDEX(D10:D15,C1)
下拉行指定在下拉列表中一次性要显示的行数。选中3D阴影将以三维阴影效果显示组合框。
在现行版本的Excel中不可用,提供此控件是为了使用Excel 5.0工作表。
在现行版本的Excel中不可用,提供此控件是为了使用Excel 5.0工作表。
当单击滚动箭头或拖动滚动块时,可以滚动通过一定的数据区域;当单击滚动箭头与滚动块之间的区域时,可以滚动整页数据。其中当前值表示滚动块在滚动条中的相对位置;最小值表示滚动块处于垂直滚动条的最上端或水平滚动条的最左端的位置;最大值表示滚动块处于垂直滚动条的最下端或水平滚动条的最右端的位置;步长为单击滚动条任意一侧的箭头时,滚动块所移动的距离;页步长为单击滚动块与箭头之间的区域时,滚动块移动的距离。单元格链接指定与控件相链接的单元格,在单元格中返回滚动块的当前位置。这一返回值可用于公式或宏中,从而根据滚动块的位置做出响应。3D阴影以三维阴影效果显示滚动条。
用于增大或减小数值。若要增大数值,可单击向上箭头;若要减小数值,可单击向下箭头。其中当前值表示微调按钮在其允许值范围内的相对位置;最小值表示微调按钮可取的最低值;最大值表示微调按钮可取的最高值;步长表示单击箭头时,微调按钮增大或减小的量。单元格链接项中为与控件相链接的单元格,在单元格中返回微调按钮的当前位置。此数值可用于公式或宏中,以返回微调按钮选定的真实值。3D 阴影以三维阴影效果显示微调按钮。
4.4、控件工具箱中的控件简介
可用于多个选项选择。
4.4.2“组合框”控件: 是一个下拉框,一次只能显示一个条目,还可允许用户输入没有出现在列表条目中的值。
4.4.3“命令按钮”控件: 用于确定或取消程序的执行。
4.4.4 “图像”控件: 用于显示图形图像。
4.4.5“标签”控件: 用于显示文本信息。
4.4.6“列表框”控件: 显示项目列表,用户可从中选择一个或多个条目。
4.4.7“选项按钮”控件: 可使得用户仅能从选项中选择一个条目。
4.4.8“滚动条”控件: 可以使用户调节数值,用户可拖放滚动条按钮。
4.4.9“数值调节钮”控件: 允许用户单击其中一个箭头来选择某个值。
4.4.10“文本框”控件: 允许用户输入文字。
4.4.11“切换按钮”: 允许在开或关两种状态之间切换。
4.5、有关问题
4.5.2、不能通过键盘访问工作表上的控件和对象?
4.5.3、部分或全部“窗体工具条”和“控件工具箱”按钮变灰,无法使用?
4.5.4、无法打印工作表上的控件或对象?
4.5.5、无法调整复选框或选项按钮的大小?
4.5.6、如何使控件与单元格网络线对齐?
--------------------完------------------------------- |
|