欢迎来到天天文库
浏览记录
ID:37887037
大小:1.05 MB
页数:28页
时间:2019-06-02
《第4章 使用窗体和控件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《Excel公式与函数大辞典》配套光盘附赠电子书——ExcelVBA篇第4章使用窗体和控件为了便于程序与用户间的交互,可以在Excel中创建独立的窗体,在其中添加一些控件,这样就可以让用户像使用Excel内置对话框一样,来使用窗体。不但减少了数据输入的麻烦,而且也使操作界面更加友好。本章将介绍窗体和控件的知识。4.1Excel中的两类窗体为了简化输入,可以在Excel工作表中通过添加控件的方式,制作一个交互性极强的表单系统。如图4-1所示的工作表也许您以前曾经看到过,它就是一个工作表窗体,其中放置了一些控件,使得输入与选择数据变得非常简单。这非常适合于开发人员给客户提供的最终Exce
2、l应用程序。在Excel中进行各种操作时,经常会遇到在一个弹出的对话框中选择某个选项或输入某些内容而得到设置结果。如果希望自己定制对话框的外观及可用选项,那么就需要创建用户窗体。如图4-2所示为一个根据用户选择的选项来查询图书的一个查询窗体。图4-1一个工作表窗体的例子图4-2一个用户窗体的例子本章剩下的部分将先介绍创建用户窗体的步骤和方法,然后介绍在工作表中使用控件的方法和技巧。4.2使用InputBox和MsgBox函数代替窗体在前几章中,我们已经多次用到了InputBox和MsgBox函数。使用这两个函数可以显76《Excel公式与函数大辞典》配套光盘附赠电子书——ExcelV
3、BA篇示简单的对话框。因此,如果不需要特别定制复杂的窗体,而只是获取用户的输入或返回一条信息,那么就可以使用InputBox和MsgBox函数来完成。4.2.1InputBoxInputBox函数分为两种,一种是VB程序中的InputBox函数,另一种是Excel中Application对象的InputBox方法。它们都可以显示一个输入框,用于获取用户的输入信息,然后将返回结果赋值给一个变量以进行其他操作。Excel中的Application对象的InputBox方法比VB程序中的InputBox函数有更强大的功能。VB程序中的InputBox函数的语法如下:InputBox(pro
4、mpt,title,default,xpos,ypos,helpfile,context)InputBox函数中各参数的作用如下:©prompt:显示在输入对话框中的文本(必选)。©title:显示在输入对话框标题栏中的文本(可选)。©default:显示在输入对话框的文本框中的默认值(可选)。©xpos和ypos:窗口左上角的屏幕坐标值(可选)。©helpfile:输入对话框中的帮助文件(可选)。©context:输入对话框中的帮助主题(可选)。在使用InputBox函数时,通常只会使用前3个参数或者只使用前两个参数,得到如下的简化版本:InputBox(prompt,title,
5、default)例如,下面的代码将根据用户输入的内容返回一条信息:SubGetInfo()DimAnsAsStringAns=InputBox("请输入","输入信息")MsgBox"您输入的信息是:"&AnsEndSub运行上面的代码,将显示如图4-3所示的对话框。当用户输入一个内容并单击【确定】按钮,将在一个对话框中显示所输入的内容。图4-3使用VB的InputBox函数打开的输入对话框如果在上个例子中用户未输入任何内容或单击【取消】按钮,那么InputBox函数都将返回一个空字符串。为了强制要求用户输入内容,可以设置一个DoWhile循环,只要输77《Excel公式与函数大辞典
6、》配套光盘附赠电子书——ExcelVBA篇入的内容为空,那么就一直显示输入对话框等待用户输入,代码如下:SubGetInfo()DimAnsAsStringDoWhileAns=""Ans=InputBox("请输入","输入信息")LoopMsgBox"您输入的内容是:"&AnsEndSub使用VB程序的InputBox函数,返回的内容均为文本类型,如果要获得其他类型的数据,则必须使用VB的内置函数进行转换。更好的解决方法是使用Excel的Application对象的InputBox方法。InputBox方法的语法如下:InputBox(Prompt,Title,Default,L
7、eft,Top,HelpFile,HelpContextID,Type)可以看出,InputBox方法比InputBox函数多了一个Type参数,使用该参数,可以指定用户输入的数据类型。表4-1列出了Type参数的取值以及代表的数据类型。表4-1Type参数的取值与返回的数据类型Type参数的取值返回值的数据类型0公式1数字2文本(默认)4逻辑值8单元格引用(Range对象)16错误值64数值数组例如,下面的代码需要用户输入一个单元格区域引用,然后对输入的
此文档下载收益归作者所有