《16中文 Excel 2000 编程 24 学时教程.pdf》由会员分享,可在线阅读,更多相关《16中文 Excel 2000 编程 24 学时教程.pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、下载第16学时工 具 栏这个学时将介绍两个主题:手工使用工具栏和通过代码来使用工具栏。工具栏作为绝大多数用户访问E x c e l命令的界面是很重要的。你可以创建自己的工具栏按钮,然后把不同的过程分配给不同的工具栏按钮,从而为执行自己的宏提供一个熟悉和方便的访问方式。这个学时的重点是: 手工添加按钮到工具栏上 不使用代码来创建新工具栏 通过代码来使用工具栏16.1 手工修改工具栏笔者发现:只有很少的 E x c e l用户懂得怎样创建新工具栏、懂得怎样把按钮添加到工具栏上。工具栏显然是E x c e l应用程序窗口中最显眼的部分了。到现在为止,你已经使用了两种方法来执行自己的过程(不包括按下
2、F 5键和从“运行”菜单来执行过程的方法) 。当宏分配给某个控件后,可以执行它。也可以通过选择“工具” 、 “宏” 、 “宏”来执行宏。这两种方法都已经使用过。如果不想使用控件来执行宏命令,也不准备通过“工具”菜单来运行宏命令的话,可以把宏过程分配给工具栏上的某个按钮。下面要做的第一件事情是向现成的工具栏上添加一个工具栏按钮, M i c r o s o f t提供了几个图像,可以作为工具栏按钮的图标,另外也可以自己创建图像作为按钮的图标。要把工具栏按钮添加到工具栏上、并且把宏分配给按钮的话,请执行下面的步骤:1)打开Guest Expenses工作簿。2)用鼠标右键单击工具栏,从弹出的菜单中
3、选择“自定义” , “自定义”对话框就显示出来,如图1 6 - 1所示。3)从“命令”标签上的“类别”列表框中选择“宏” ,在“命令”列表框中将看见“自定义按钮”这个短语。图16-1 “自定义”对话框可以用来自定义工具栏和菜单4)把“自定义”按钮拖放到现成的一个工具栏上。当移动到工具栏上时,可以发现有一个黑条跟着工具栏上的拖动按钮的移动而移动。这个黑条就表示当释放鼠标按钮时放置工具栏按钮的位置。5)当找到了新工具栏按钮的满意位置时,就可以释放鼠标按钮,于是按钮就添加到了工具栏上,如图1 6 - 2所示。6)用鼠标右键单击这个新的工具栏按钮,从弹出的菜单中选择“命名” ,输入G u e s tE
4、 x p e n s e s作为该按钮的名称,输入的名称将用来作为按钮的“工具栏提示” 。7)再次用鼠标右键单击这个新工具栏按钮,选择“改变按钮图标” ,这时将显示出许多小图像供选择,如图1 6 - 3所示。选择中意的图像,按钮的图标就改变成为选中的图像了。8)再次用鼠标右键单击新按钮,选择“指定宏” ,把S h o w G u e s t E x p e n s e s分配给这个新按钮。138使用中文Excel 2000编程 2 4学时教程下载图16-2 新的宏按钮的默认图标是一个笑脸图像图16-3 E x c e l提供了一些图像供选择用来作为宏按钮的图标新按钮9)关闭“自定义”对话框。1
5、 0)单击新的Guest Expenses工具栏按钮,Guest Expenses窗体就显示出来。11)单击“取消”按钮以关闭窗体。现在所有工作簿都可以使用这个新工具栏按钮,这就意味着,如果在另外一个工作簿中单击了这个按钮的话,Guest Expenses对话框就会显示出来。实际上,使用刚才介绍的技术来把宏过程分配给工具栏按钮的方法只适用于在所有的工作簿中都使用宏过程的应用场合。例如,位于个人工作簿中的宏和过程就很适合分配给工具栏按钮。因为上面这个缘故,你很可能想要删除这个工具栏按钮,要实现这一点的话,请执行下面的步骤:1)用鼠标右键单击工具栏,从弹出的菜单中选择“自定义” 。2) “自定义”
6、对话框打开以后,就能够删除按钮了。把 Guest Expenses工具栏按钮拖回到“自定义”对话框,这样就把按钮从工具栏上删除了。3)关闭“自定义”对话框。如果你已经对内置的工具栏做出了一些改变,而现在又想撤销全部改变的话,那么请切换到“自定义”对话框的“工具栏”选项卡,从“工具栏”列表框中选择要撤销所有改变的工具栏,单击“重新开始”按钮,工具栏就重置了,又跟刚安装完 E x c e l时的工具栏完全一样了。16.2 创建自定义工具栏并不是只限于往现成的工具栏上添加工具栏按钮,还可以创建自定义工具栏。例如,也许需要创建一个自定义工具栏,可以用它来执行应用程序的所有宏命令和过程。在这个学时的后面
7、部分,将学习到怎样显示和隐藏工具栏,这意味着可以控制能够使用工具栏的时机,从而可以控制工具栏按钮可以使用的时机。要创建新的自定义工具栏的话,请执行下面的步骤:第16学时 工 具 栏使用139下载图16-4 当工具栏刚创建时,工具栏是空的新的空工具栏1)用鼠标右键单击工具栏。2)从弹出的菜单中选择“自定义” 。3)选择“工具栏”选项卡。4)单击“新建” , “新建工具栏”对话框显示出来。5)输入M y To o l b a r作为新工具栏的名称,然后按下回车键。6)单击“关闭”按钮关闭该对话框。新工具栏显示时是一个小的灰色框,如图 1 6 - 4所示。当向新工具栏上添加按钮时,工具栏的大小会随之
8、增加。可以使用前面介绍过的技术向自定义工具栏上添加工具栏按钮。16.3 通过代码来使用工具栏通过使用V B A,能够完成创建工具栏、向工具栏上添加按钮、显示 /隐藏工具栏和按钮、删除工具栏和按钮等所有功能。通过代码来创建和维护工具栏有一个优势:通过代码允许在工作簿打开的时候创建工具栏,而在工作簿关闭的时候删除工具栏。这意味着工具栏和工具栏上的按钮只有在工作簿打开的时候才可以使用。16.3.1 创建工具栏你想到使用V B A代码来创建工具栏的第一个方案可能是使用 A d d方法在To o l b a r s集合中创建新的工具栏,这个方案对了一半。我们是准备使用 A d d方法,但是这里并没有像
9、To o l b a r s集合这样的对象存在。工具栏跟菜单项和加速键菜单组成了一个组,是作为 C o m m a n d B a r s(命令项)引用的。可以把 C o m m a n d B a r s看作命令的集合,这样你就能够理解工具栏和菜单为什么能够位于一个组了。因此,要创建工具栏的话,就要使用 C o m m a n d B a r s集合的A d d方法。创建了一个C o m m a n d B a r对象以后,下一步就是添加工具栏按钮了,要实现这一点,就要使用C o n t r o l s(控件)集合的A d d方法。要创建带有按钮的新工具栏,请执行下面的步骤:1)打开Gues
10、t Expenses工作簿。2)按下A l t + F 11组合键以打开Visual Basic编辑器。3)创建一个命名为C u s t o m T B的新过程。4)在这个新过程中输入下面的代码:Dim ctlGEButton As ObjectT h i s Wo r k b o o k . A c t i v a t eApplication.CommandBars.Add Name: =GuestTBC o m m a n d B a r s ( G u e s t T B ) . Visible = Tr u eSet ctlGEButton = Application.Command
11、Bars(GuestTB).Controls.Add_( Type: =msoControlButton, ID:=2950,Before:=1)With ctlGEButton.FaceId = 2141.OnAction = ShowGuestExpensesEnd Wi t h5)运行这个过程,就创建了新的工具栏。6)单击G u e s t T B工具栏上的按钮,Guest Expenses对话框就显示出来了。7)单击“取消”按钮关闭这个对话框。140使用中文Excel 2000编程 2 4学时教程下载如果要再次运行这个过程,就必须删除 G u e s t T B工具栏,可以用鼠标右键单
12、击工具栏、然后选择“自定义” ,从“工具栏”选项卡中把工具栏删除。现在,我们来对刚才的代码进行分析。代码所做的第一件事情是创建一个对象变量:Dim ctlGEButton As Object接下来激活工作簿,因为要创建的工具栏是供工作簿使用的:T h i s Wo r k b o o k . A c t i v a t e接下来创建工具栏,并且把工具栏的Vi s i b l e属性设置为 Tr u e,以便工具栏能够显示出来:Application.CommandBars.Add Name := GuestTBCommandBars( GuestTB). Visible = Tr u e之后,
13、代码在窗体上创建了一个按钮,并且把这个按钮设置成为控件按钮,使用了I D参数来应用这个按钮, “自定义宏”按钮的I D是2 9 5 0。Set ctlGEButton = Application. CommandBars ( GuestTB). Controls.Add _( Type := msoControlButton, ID := 2950Ty p e参数有几个不同的值可供选择。下面每个参数值都对应于可以创建的工具栏按钮的一种类型: msoControlButton msoControlEdit msoControlDropdown msoControlGomboBox msoCont
14、rolPopup接下来,代码设置了按钮的一些属性,尤其是设置了 F a c e I D和O n A c t i o n属性的值。F a c e I D设置的是按钮的图标,O n A c t i o n属性把宏分配给按钮:With ctlGEButton.FaceId = 2141.OnAction = ShowGuestExpensesEnd Wi t h你也许想知道笔者是怎样找到 F a c e I D属性所需要的号码,当然是使用代码来实现的。笔者首先在G u e s t T B工具栏上创建了一个要使用的带有图标的按钮,然后运行了如程序清单 1 6 - 1中所示的过程。程序清单16-1 Fi
15、ndOut过程的代码1: Sub FindOut ()2: MsgBox CommandBars(GuestTB).Controls(1).FaceId3: End Sub 如果想在打开工作簿时创建工具栏,就需要把代码放置在 A u t o _ O p e n过程中。可以在第2 4学时中查找到有关A u t o _ O p e n过程的更多信息。第16学时 工 具 栏使用141下载16.3.2 删除工具栏如果不再需要工具栏作为 E x c e l环境下的一个组成部分时,就可以使用 D e l e t e方法把工具栏删除。下面的步骤创建了用来删除 G u e s t T B工具栏的过程:1)创建
16、一个命名为D e l e t e G u e s t T B的新过程。2)在这个过程中输入下面的代码:T h i s Wo r k b o o k . A c t i v a t eCommandBars ( GuestTB).Delete3)运行这个过程,就删除了G u e s t T B工具栏。16.4 学时小结工具栏是用户同 E x c e l和应用程序进行交互的界面中最受欢迎的方式之一,既可以使用E x c e l的内置特性来创建自定义工具栏,也可以使用 V B A来创建、修改和删除为自己的应用程序方案专门设计的工具栏。在下一个学时中,将使用 E x c e l界面的另外一个重要部分,
17、即菜单系统,将学习用来操作内置菜单和从一开始就使用代码来创建菜单的几项技术。16.5 专家答疑问题:当浏览“对象浏览器”时,没法找到命名为 To o l b a r(工具栏)的对象,这是为什么?解答:工具栏实际上是一种叫做 C o m m a n d B a r类型的对象,另外一个 C o m m a n d B a r对象的例子是菜单项。问题:如果工具栏不想使用预先定义的图像做图标时该怎么办?我能够创建自己的图像做图标吗?解答:可以,E x c e l提供了一个按钮编辑器。要访问按钮编辑器的话,用鼠标右键单击工具栏,从弹出菜单中选择“自定义” 。当“自定义”对话框打开时,用鼠标右键单击要修改
18、图标的那个按钮,选择“编辑按钮图标” 。16.6 课外作业思考题和练习题是为了使你能够进一步地理解所学内容,答案请参考附录。16.6.1 思考题1)工具栏属于什么集合?2)使用哪个属性来把宏分配给工具栏按钮?3)请说出工具栏按钮所属的集合。4)使用什么方法可以删除工具栏?5)怎样使用V B A代码来显示工具栏?6)哪个属性可以用来控制工具栏按钮上显示的图标?142使用中文Excel 2000编程 2 4学时教程下载7)判断题:工具栏在创建时就自动显示出来。16.6.2 练习题创建一个命名为 H o u r 1 6 To o l b a r的过程,该过程需要创建和显示一个命名为H o u r 1 6的新工具栏,该工具栏上有 3个按钮: “新建( I D是2 5 2 0) ” , “打开( I D是2 3) ”和“保存(I D是3) ” 。创建另外一个命名为 D e l e t e T B的过程,该过程删除 H o u r 1 6工具栏。运行并测试这两个过程。第16学时 工 具 栏使用143下载