“窗体”工具栏控件和“控件工具箱”控件基础

在工作表菜单“视图——工具栏”或在菜单栏点击右键,在下拉菜单中有两个内容比较相似工具栏,即“窗体”工具栏和“控件工具箱”工具栏,如下图所示。

其中,“窗体”工具栏有16个命令按钮,依次为:标签、编辑框,分组框、按钮、复选框、选项按钮,列表框、组合框,组合式列表编辑框、组合式下拉编辑框,滚动条、微调项,控件属性、编辑代码,切换网格、执行对话框。
“控件工具箱”是提供ActiveX控件的工具栏,有15个命令按钮,依次为:设计模式、属性、查看代码,复选框、文本框、命令按钮、选项按钮、列表框、组合框、切换按钮、数值调节钮、滚动条、标签、图像,其他控件。其中某些控件看上去与“窗体”工具栏中的控件相同,功能也相似,还有一些控件(例如,切换按钮和图像控件)在“窗体”工具栏上不可用。“控件工具箱”还包含通过其他程序安装的自定义ActiveX控件,例如:通过Microsoft Internet Explorer安装的Active Movie控件。
一、一些概念
控件是放置于窗体上的一些图形对象,可用来显示或输入数据、执行操作或使窗体更易于阅读。这些对象包括文本框、列表框、选项按钮、命令按钮及其他一些对象。控件提供给用户一些可供选择的选项,或是某些按钮,单击后可运行宏程序。
Microsoft Excel 有两种类型的控件。ActiveX 控件即控件工具箱控件适用于大多数情况,与 Microsoft Visual Basic for Applications  (VBA) 宏和 Web 脚本一起工作。“窗体”工具栏上的控件与 Excel 5.0 以后的 Excel 早期版本都是兼容的,并且能在 XLM 宏工作表中使用。
ActiveX控件一般为完全可编程的对象,开发者能够使用它们在原应用程序基础上创建自定义的应用程序。
二、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形式的脚本。
三、窗体工具条控件介绍
标签”控件。用于显示文本信息。
编辑框”控件。在现行版本的Excel中不可用,提供此控件是为了使用Excel 5.0工作表。
分组框”控件。将相关控件进行组合,如选项按钮控件或复选框控件。其有一个3D阴影属性,可以三维阴影效果显示组合框。
按钮”控件。用于单击时运行相应的宏过程。
复选框”控件。可选中一个或同时选中多个复选框,以打开或者关闭某选项。其值确定复选框的状态,即该复选框是处于未选择、已选择或混合状态;单元格链接即是返回复选框状态值的单元格,若选中复选框,则与其相链接的单元格值为True;若未选择复选框,则与其相链接的单元格值为False;若复选框处于混合状态,则与其相链接的单元格值为#N/A;若与其相链接的单元格为空,则Excel认为复选框状态为False。选中3D阴影将以三维阴影效果显示复选框。
选项按钮”控件。可从几个选项中仅选中一个。其值确定选项按钮的状态,即该按钮是处于选中还是未选中状态。单元格链接将在与其相链接的单元格中返回选项组中选定的选项按钮的编号。您应对选项组中的所有选项应使用相同的“单元格链接”单元格,这样可将其返回的数字用在公式或宏中,从而响应所选的选项。如果所创建的个人窗体中含有两个选项按钮,分别标记为“专职”和“兼职”,您可以将这两个按钮链接到 C1 单元格上。如果选中第一个选项按钮,下面的公式显示“专职”;如果选中第二个选项按钮,则显示“兼职”。
=IF(C1=1,"Full-time","Part-time")
同样,选中选中3D阴影将以三维阴影效果显示选项按钮。
列表框”控件。显示项目列表。其中数据源区域为对单元格区域的引用,列表框中显示了该区域的数值;单元格链接为与列表框控件相链接的单元格,将显示列表框中选定的项目的编号(列表框中的第一项为1),可在公式或宏中使用此数字来从数据源区域中返回实际的项。例如,如果某个列表框链接到 C1 单元格,且其数据源区域为 D10:D15,那么下面的公式将基于列表中选定的内容,从数据源区域 D10:D15 中返回相应的值: =INDEX(D10:D15,C1)
选定类型指定在列表中选定项目的方式。如果将选定类型设置为“复选”或“扩展”,那么“单元格链接”所指定的单元格将被忽略。选中3D阴影将以三维阴影效果显示列表框。
组合框”控件。是一个下拉列表框,在此列表框中选中的项目将显示在文本框中。其中数据源区域为对单元格区域的引用,下拉列表框中是显示了该区域的数值;单元格链接为与组合框控件相链接的单元格,显示在组合框中选定的项目的编号(列表中的第一项为1)。可在公式或宏中使用此数字来从数据源区域中返回实际的项,例如,如果某个组合框链接到 C1 单元格,且其数据源区域为 D10:D15,那么下面的公式将基于列表中选定的内容,从数据源区域 D10:D15 中返回相应的值:
=INDEX(D10:D15,C1)
下拉行指定在下拉列表中一次性要显示的行数。选中3D阴影将以三维阴影效果显示组合框。
组合式列表编辑框”控件。在现行版本的Excel中不可用,提供此控件是为了使用Excel 5.0工作表。
组合式下拉编辑框”控件。在现行版本的Excel中不可用,提供此控件是为了使用Excel 5.0工作表。
滚动条”控件。当单击滚动箭头或拖动滚动块时,可以滚动通过一定的数据区域;当单击滚动箭头与滚动块之间的区域时,可以滚动整页数据。其中当前值表示滚动块在滚动条中的相对位置;最小值表示滚动块处于垂直滚动条的最上端或水平滚动条的最左端的位置;最大值表示滚动块处于垂直滚动条的最下端或水平滚动条的最右端的位置;步长为单击滚动条任意一侧的箭头时,滚动块所移动的距离;页步长为单击滚动块与箭头之间的区域时,滚动块移动的距离。单元格链接指定与控件相链接的单元格,在单元格中返回滚动块的当前位置。这一返回值可用于公式或宏中,从而根据滚动块的位置做出响应。3D阴影以三维阴影效果显示滚动条。
微调按钮”控件。用于增大或减小数值。若要增大数值,可单击向上箭头;若要减小数值,可单击向下箭头。其中当前值表示微调按钮在其允许值范围内的相对位置;最小值表示微调按钮可取的最低值;最大值表示微调按钮可取的最高值;步长表示单击箭头时,微调按钮增大或减小的量。单元格链接项中为与控件相链接的单元格,在单元格中返回微调按钮的当前位置。此数值可用于公式或宏中,以返回微调按钮选定的真实值。3D 阴影以三维阴影效果显示微调按钮。
四、控件工具箱中的控件简介
复选框”控件,可用于多个选项选择。“ 组合框”控件是一个下拉框,一次只能显示一个条目,还可允许用户输入没有出现在列表条目中的值。“ 命令按钮”控件用于确定或取消程序的执行。 “ 图像”控件用于显示图形图像。“ 标签”控件用于显示文本信息。“ 列表框”控件显示项目列表,用户可从中选择一个或多个条目。“ 选项按钮”控件可使得用户仅能从选项中选择一个条目。“ 滚动条”控件可以使用户调节数值,用户可拖放滚动条按钮。“ 数值调节钮”控件允许用户单击其中一个箭头来选择某个值。“ 文本框”控件允许用户输入文字。“ 切换按钮”允许在开或关两种状态之间切换。
此外,还可添加或编辑 ActiveX 控件。在“控件工具箱”中还包含许多由 Excel 及其他程序安装的 ActiveX 控件,如 Calendar Control 9.0、Windows Media Player 和 Snapshot Viewer Control 11.0。但并非所有 ActiveX 控件都可以直接在工作表中使用;其中一些只能在VBA用户窗体中使用。对于这类控件,如果试图将其添加到工作表中,Excel 会显示“不能插入对象”消息。
五、有关问题
1、如何识别哪类控件?
要确定控件类型,您可以右键单击该控件,会显示快捷菜单:
(1)如果快捷菜单包含“属性”命令,则该控件为“控件工具箱”中的 ActiveX 控件,且您处于“设计”模式。
(2)如果快捷菜单包含“指定宏”命令,则该控件为“窗体”工具栏控件。
(3)如果快捷菜单包含“编辑文字”命令,则该对象为“绘图”工具栏对象。
如果右键单击控件以显示快捷菜单时却没有响应,则该控件是 ActiveX 控件且您不在“设计”模式下。若要显示 ActiveX 控件的快捷菜单以编辑属性或查看宏代码,则必须处于设计模式。请执行以下操作:
(1)如有必要,可显示“控件工具箱”(指向“视图”菜单上的“工具栏”),然后单击“控件工具箱”。
(2)要进入或退出设计模式,可点击切换“设计模式” 。
2、不能通过键盘访问工作表上的控件和对象?
您无法为“窗体”工具栏控件或“绘图”工具栏上的对象定义加速键。但是可以通过设置它们的“加速”属性来为某些 ActiveX 控件指定加速键。
您无法为工作表窗体上的控件或对象定义Tab 键顺序。但是可以通过使用“查看Tab键顺序”对话框(选择Visual Basic编辑器中的“视图”菜单下的“Tab键顺序”),来定义VBA用户窗体上的Tab键顺序。
3、部分或全部“窗体工具条”和“控件工具箱”按钮变灰,无法使用?
控件变暗或“变灰”有多种原因,其中,“编辑框”控件、“组合式列表编辑框”控件、“组合式下拉编辑框”控件、“执行对话框”控件在现行Excel工作簿中是不可用的,因此始终变灰显示,这些控件仅与Excel5.0对话工作表一起使用。
您当前处于单元格的数据输入模式下,因此“窗体”和“控件工具箱”工具栏上的所有按钮都变暗。您可能不经意地进入了被控件覆盖的单元格的数据输入模式,或者网格线被隐藏您无法方便地看见单元格。按Esc以退出单元格数据输入模式。
“控件属性”  按钮永远不会对“窗体”工具栏上的“标签” 、“按钮”  和“分组框”  控件启用。
如果您不处于“设计”模式且激活了 ActiveX 控件,则“属性”  和“查看代码”  按钮不会启用。
4、无法打印工作表上的控件或对象?
您已经清除了“打印对象”复选框(在“窗体”工具栏控件的“设置控件格式”对话框的“属性”选项卡上),或者将 ActiveX 控件的“PrintObject”属性设置为“False”。打印工作表时,必须将“打印对象”复选框或“PrintObject”属性设置为“True”,才能打印控件。
5、无法调整复选框或选项按钮的大小?
在“窗体”工具栏和“控件工具箱”的“复选框”和“选项按钮”控件中,控件内部及文本左侧的复选框和选项按钮的大小是固定的。没有办法调整大小。
6、如何使控件与单元格网络线对齐?
若要使控件按照单元格网格线对齐,请按住 Alt 再拖动控件 
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页