excel_vba_编程教程(完整版)-第65章
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
* 点击工具箱上的复选框按钮,并且在刚添加的框架内部点击一下,框架里应该出现
CheckBox1控件
* 更改CheckBox1的Caption属性为IBM/patible
* 在puter Type框架里面再放置两个复选框,使用Caption属性将这两个复选框标题设
置为:Notebook/Laptop和Macintosh。最后的结果应该和图10…11一致。
不像选项按钮那样相互排斥,复选框允许用户同时激活一个或者多个选项。复选框在特定时
候可以是选定的,未选定的或者不可用的。不可用的复选框会变灰并且不能被选定。选定的
195
… 页面 212…
复选框的标题前面有一个x号,具有焦点的复选框的标题周围有虚线包围。
技巧10…4 复选框还是选项按钮
同时只能选择一个选项的时候使用选项按钮,而复选框让用户选择任意多个适合的选项。
7。 添加标签和复合框
* 点击工具箱上的标签控件
* 点击puter Type框架下面的空白地方,Label1控件应该就会出现在那里
* 将Label1的Caption属性改为Where Used
* 点击工具箱上的复合框控件
* 点击标签Where Used下面的空白地方并且拖曳鼠标画出一个长方形,释放鼠标。
只有当你点击控件右边的向下箭头时,复合框才会显示可用的选项清单。复合框有时也被称
为下来列表并且用来屏幕上的宝贵空间。尽管用户一时只能看见清单中的一项,但是通常点
击向下箭头可以很快地改变当前选择。
8。 添加标签、文字框和旋转按钮
* 点击工具箱上的标签控件
* 在Where Used复合框下面的空白地方点击一下,将会出现一个标签控件,更改其Caption
属性为Percent (%) Used
* 点击工具箱上的文字框控件
* 在Percent (%) Used标签右边点击一下放置一个默认大小的文字框
* 点击工具箱上的旋转控件,然后点击文字框控件的右侧,出现一个默认大小的旋转按钮。
最后的样子如图10…11所示
旋转按钮有两个箭头,用来在一个给定范围内增加或者减少数值。最大值由Max属性的设置决
定,而最小值则由Min属性设定。旋转按钮和滚动条有相同的属性,但是也有两个不同之处:
旋转按钮没有滚动条,而且它少一个LargeChange属性。文字框通常放置在旋转按钮的旁边,
这样允许用户直接在文字框里面输入数据,或者使用旋转按钮控制数值。如果旋转按钮必须
和文字框一起使用的话,那么你定VBA过程必须确保文字框里输入的数据和旋转按钮保持同
步。在本练习里,你将使用旋转按钮来显示所选硬件或者软件的兴趣百分比。
9。 添加命令按钮
* 双击工具箱上的命令按钮控件。回想一下双击工具箱上的控件时,表明你想要添加一个
以上的所选控件
* 点击窗体的右上角,这将导致出现mandButton1
* 点击mandButton1的下面,出现mandButton2
* 将mandButton1的Caption属性为OK,mandButton2为Cancel。
多数自定义窗体都有两个命令按钮,确定和取消,使用户能够接受窗体上输入的数据,或者
离开窗体。在本练习里,OK按钮将输入在窗体上的数据转移到工作表里。无论何时当他完成
数据输入的时候,用户也可以点击取消按钮。你将在本章后面编写合适的VBA过程,使按钮对
用户的操作有反应。
10。添加图像控件
* 点击工具箱上的图像按钮
* 在Cancel按钮下面用鼠标点击,并且拖曳鼠标,画一个长方形,释放鼠标,最后的样子
如图10…11所示。窗体将根据选择的是Hardware或者Software选项按钮,显示不同的图
片。图像将用VBA程序上载。
11。检查窗体外观
* 点击窗体标题栏,或者点击窗体上的任意空白区域,选定窗体
* 按下F5键或者选择“运行”|“运行子过程/用户窗体”来显示用户将看到的窗体
* VB将切换到Excel窗口的当前活动工作表,并且显示你设计的自定义窗体。如果你忘了
选择窗体,就会出现宏对话框(译者:按下F5的时候),关闭宏对话框,然后重复前面
两步
* 点击窗体右上角的关闭按钮(x)来关闭该窗体,返回到VB编辑器窗口。回想一下,我
们放置在窗体上的OK和Cancel按钮都还没有任何功能,它们需要VBA过程让它们工作。
在窗体上添加完控件后,你可以使用鼠标或者格式菜单命令来调节控件的对齐和空间。
196
… 页面 213…
技巧10…5 使用用户窗体工具栏
用户窗体工具栏包含很多有用的使用窗体的快捷键,例如使控件大小一样,水平或者数值居中,控
件边缘对齐,以及组合或取消组合控件。选择“视图”|“工具栏”|“用户窗体”。
22。更改控件名称
在开始编写程序控制窗体之前,你应该给每个放置在窗体上的控件分配自己的名称。尽管VB自动给
每个控件分配一个缺省名称,但是要在一个过程里引用多个几乎具有一样的名称的同类对象的话,
这些名称是很难区分的,例如:OptionButton1, OptionButton2,等等。给窗体上的控件分配有
意义的名称可以让你引用这些控件的VBA过程可读性增加。
给控件命名:
* 点击窗体上合适的控件
* 双击属性窗口的Name属性
注意:在更改Name属性之前,你得确保属性窗口的标题栏显示正确的控件类型。例如,要给一个框
架控件重命名的话,就要先点击窗体上的框架控件。当属性窗口显示“属性…Frame1”时,双击Name
属性,并且在默认名称加亮区域输入新的名称。
不要将控件的名称和标题(Caption)混淆。例如,在Info Survey窗体上,框架的缺省名称是Frame1,
但是该控件的标题是Main Interest。控件的标题可以通过设置其Caption属性来更改。控件的标题
允许用户明确控件的目的,以及建议预期的数据类型,然而控件的名称是用在VBA代码里使事情发
生的。
1。 给窗体Info Survey上的控件分配名称,如下表所示:(译者:你可以按照自己的方式命名控件,
但是一个好的方法是按表中的样式命名控件。例如第一个选项按钮,optHard,opt表示该控件
类型为OptionButton,而Hard则表明该控件的作用是Hardware选项。)
对象类型 Name属性
第一个选项按钮 optHard
第二个选项按钮 optSoft
列表框 lboxSystems
第三个选项按钮 optMale
第四个选项按钮 optFemale
第一个复选框 chkIBM
第二个复选框 chkNote
第三个复选框 chkMac
复合框 cboxWhereUsed
文字框 txtPercent
旋转按钮 spPercent
第一个命令按钮 butOK
第二个命令按钮 butCancel
图像 picImage
23。设置其它控件属性
放置在Info Survey窗体上的控件也是对象,这些对象中的每一个都有它们自己的属性和方法。在
前面的部分,你更改了所有对象的Name属性,这些后面将在VBA过程里引用。控件的属性可以在自
定义窗体的设计时候设定,也可以在运行的时候设置(也就是说,在VBA过程执行的时候)。
我们现在来给所选控件设置一些属性。点击窗体上的控件,定位属性窗口上希望设置的属性,并且
在属性名称右边输入新值。例如,设置控件lboxSystems的ControlTipText属性,点击窗体Info
Survey上的列表框并且在属性窗口里找到ControlTipText属性,在属性窗口的右边一列里输入你要
显示的文本,当用户将鼠标移动到该列表框上面时就会显示该文本:Select only one item
1。 更改对象属性,如下所示:
197
… 页面 214…
对象名称 属性 更改为
lboxSystems ControlTipText Select only one item
spPercent Max 100
spPercent Min 0
OK button Accelerator O
Cancel button Accelerator C
picImage PictureSizeMode 0 … fmPictureSizeModeClip
Accelerator属性指明对象名称中的哪一个字母可以用在键盘快捷组合家里来激活该控件。该特定
的字母在该对象的标题里将显示为下划线。例如,显示该窗体后,你将可以使用组合键Alt+O快速
选择OK按钮。Info Survey窗体对象的其它属性将将VBA过程里直接设置。
24。准备工作表以储存窗体数据
用户在窗体上选择了合适的选项并点击OK按钮之后,这些被选择的数据将会转移到一个工作表中。
然而,在此之前,你得准备一个工作表来接收这些数据,并且给用户一个易于操作的界面来启动你
的窗体。按照下述步骤来准备你的工作表:
1。 激活Excel窗口
2。 双击工作簿Chap10。xls的Sheet1页,并且输入新名称:Info Survey
3。 输入列标,如图10…13所示
4。 选择K列和第一行,并且将它们的底色改为你喜欢的颜色(使用“格式”工具栏上的“填充底色”
按钮)。
从工作表里启动自定义窗体的最简单方法是点击一个按钮,接下来的步骤带领你在工作表Info
Survey里添加按钮Survey
5。 选择“视图”|“工具栏”,并选择“窗体”
6。 点击窗体工具栏上的按钮控件,在单元格K2里放置一个按钮。当出现指定宏对话框时,在“宏
名”框里面输入DoSurvey,并且点击确定。稍后你将编写该过程。
7。 当你返回工作表时,该被指定宏DoSurvey的按钮(按钮1)应该仍然被选中了,给它输入一个新
名称:Survey。如果该按钮没有被选定的话,那么就在其上单击右键来选中它,选择快捷菜单
上的“编辑文字”并输入Survey作为其新名称。要退出编辑模式,可以点击按钮之外的任何地