InputBox函数显示一个信息提示用户输入数据,这个对话框有两个按钮——“确定”和“取消”,当你点击确定时,InputBox函数返回用户输入在信息框里的信息;当你点击取消时,函数则返回空字符串(” ”)。InputBox函数的语法显示如下:
InputBox(prompt [, title] [, default] [, xpos] [, ypos] _ [, helpfile, context])
第一个参数,prompt,是你想要显示在对话框上的信息,你可以使用函数Chr(13)或Chr(10)将长文本打断为几行(参见本章中使用MsgBox函数的例子)。剩下所有的参数都是可选的。
第二个参数,title,让你改变对话框的默认标题,默认的标题是Mictosoft Excel。InputBox函数的第三个参数,default,让你在文本框里显示一个默认值,如果你忽略这个参数的话,显示的将是空白编辑框。
接下来的两个参数,xpos和ypos,允许你设置该对话框在屏幕上出现的位置,如果你忽略这两个参数,对话框就会出现了当前窗口的中央,xpos参数决定对话框在屏幕上从左起的水平位置,忽略它时,对话框显示在水平中央,而ypos参数决定对话框在屏幕从上而下的竖直位置,忽略它,对话框就在竖直大约三分之一的位置。xpos和ypos都使用一个叫twips的专门单位衡量,1twip大约等于0.0007英寸。最后两个参数,helpfile和context,和在本章前期讨论的MsgBox函数相应的参数使用方法一样。
现在你知道了InputBox参数的意义了,我们来看看这个函数的使用示例:
1. 在MyFunctions (Chap04.xls)工程里添加一个新模块,重命名为Sample8
2. 激活Sample8模块,并且输入下列子程序:
End Sub
上面的过程显示一个带两个按钮的对话框,输入提示显示在两行里。象MsgBox函数一样,如果你想要使用用户输入的数据,那么你应该使用一个变量来储存该对话框结果。下面显示的子程序Informant2将InputBox函数的结果赋值给变量town:
图4-10 Informant子程序产生的对话框
Sub Informant2()
Dim myPrompt As String
Dim town As String
Const myTitle = "Enter data"
myPrompt = "Enter your place of birth:" & Chr(13) _
& "(e.g., Boston, Great Falls, etc.)"
town = InputBox(myPrompt, myTitle)
MsgBox "You were born in " & town & ".", , "Your response"
End Sub
注意,这次,InputBox函数的参数列在了括号中间。如果你需要在稍后的程序中需要使用InputBox函数的结果,那么括号是必须的。Informant2子程序使用常数来确定显示在对话框标题上的文本。因为,这个值在过程执行过程中从始至终都是保持不变的,所以,可以将对话框的标题声明为一个常量,然而,如果你愿意,你也可以使用一变量。
当你运行使用了InputBox的过程时,使用该函数的对话框总是出现在屏幕的同一位置,你可以按前面解释的那样,提供xpos和ypos参数来改变对话框的位置。
3. 修改过程Informant2中的InputBox函数,让对话框显示在屏幕的左上角,例如:
town = InputBox(myPrompt, myTitle, , 1, 200)
注意,参数myTitle后面紧跟两个逗号,第二个逗号是忽略掉的默认值参数。下面两个参数决定对话框的水平和竖直位置。如果你忽略了参数myTitle后面的第二个逗号,VB将会使用数字1作为默认值。如果你使用了参数名称的话,(例如,prompt:=myPrompt, title:=myTitle, xpos:=1,ypos:=200),你就不必记住在每个忽略了参数的地方加逗号了。
如果你输入了一个数字,而不是一个城镇的名称,后果会怎样?因为,用户经常会在对话框里输入错误的数据,所以,你的程序必须验证用户输入的数据是否可以在将来的数据操作里使用。InputBox函数本身并没有提供验证数据的工具,要验证用户的输入,你必须使用其它的VBA指令,这将在接下来的章节里讲述。
本节为你介绍什么是Razor 以及 Razor 语法。Razor 不是一种编程语言。它是服务器端的标记语言。 什么是 Razor? Razor 是一种标...
高阶话题1.迭代1.1 实例代码:--迭代local function enum(array)local index = 1return function()local ret = array[index]index...
本章节将向您讲解如何使用 Ruby 访问数据库。Ruby DBI 模块为 Ruby 脚本提供了类似于 Perl DBI 模块的独立于数据库的接口。DBI ...
IntelliJ IDEA 免费的社区版下载地址:https://www.jetbrains.com/idea/download/index.html下载安装后,我们就可以使用该工具来...
用于展示操作进度,告知用户当前状态和预期。线形进度条 — 百分比外显Progress 组件设置percentage属性即可,表示进度条对应的...