VBA中可以实现人机对话的函数,Inputbox函数的讲解

为了实现数据输入,VBA提供了InputBox函数。该函数将打开一个对话框作为输入数据的界面,提示用户输入信息并等待用户输入数据,在得到用户的认可后,返回所输入的内容给程序(计算机)。其语法格式如下:

InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])

下面讲一下各参数的含义:

1 Prompt:为对话框消息出现的字符串表达式,是你希望在对话框上显示的明文信息,或者说是程序(计算机)提示给用户的信息。其最大长度为1024个字符。如果需要在对话框中显示多行数据,则可在各行之间用回车符换行符来分隔,一般使用VBA的常数vbCrLf代表回车换行符。这里提示给各位读者两个函数:CH(13)和CH(10),其中Ch(13)返回的是回车,和按下回车键是一样的就是vbCrLf;Ch(10)代表换行,这个符号在表示文本中添加空行非常有用。

2 Title:为对话框标题栏中的字符串。如果省略该参数,则把应用程序名放入标题栏中。一般为Mictosoft Excel,如果那你使用了这个参数,程序就会把采用你提供的信息了。

3 Default:为显示在文本框中的字符串。如果省略该参数,则文本框为空。我在使用时候一般把此值设置成常用的数值,或者包含了某种信息的值,如6位密码则显示为6位数字,当然每个人有美每个人的用法。

4 Xpos 和Ypos:两者成对出现,指定对话框的左边与屏幕左边的水平距离。如果省略该参数,则对话框会在水平方向居中,垂直方向距下边大约三分之一的位置。这里和大家讲一个单位,是这两个参数的位置的单位:twips,1twips大约等于0.0007英寸。

5 Helpfile 和Context:设置对话框的帮助文件和帮助的主题编号,可省略。当你明确了这个helpfile参数后,help按钮就会在信息框上显示出来,当你使用helpfile参数时,你同时也使用confext参数,这个参数表明在帮助文件里你要显示的那个帮助主题,例如HELP.hlp是你创建的帮助文件,88是你要使用的帮助主题,你可以写作:helpFile:="HELP.HLP",context:=55.

下面我们看一个实例来看看这个函数的使用:

代码一:

运行结果:

代码二:

Sub mima()

Dim strmima As String

Dim i As Integer

Do

strmima = InputBox("请输入密码", "信息", "888888888")

If strmima = "123456789" Then '判断密码是否正确

Exit Do

Else

MsgBox ("密码错误,请输入正确的密码!")

End If

i = i + 1

Loop While i < 4

If i >= 4 Then '超过正常输入密码次数

MsgBox ("密码录入次数过多,系统烦了,将退出!")

Application.Quit

Else

MsgBox "OK,欢迎你使用本系统!"

End If

End Sub

截图:

在上述的代码中,INPUTBOX函数的格式变为了:

strmima = InputBox("请输入密码", "信息", "888888888")

我们看看返回的结果:

首先,位置没有变化,只是在原先的Mictosoft Excel 变成了"信息",原先的空白的录入处变成了"888888888",这就是参数改变的结果了。

当然,对于INPUTBOX函数最重要的是用于储存录入数据的变量,上述的代码中是"strmima",这个值要返回给程序,信息才有用户传递回来了。

第三 这个函数提供给用户的两个按钮的作用:

所以当程序运行到此函数的时候,会告诉用户,你要输入信息了,当用户输入完成后点击"""确定"按钮,这是程序会认为你输入完成,把你录入的信息放在特定的变量中回传给计算机了。

当用户点击"取消"按钮时,程序会认为你不需要录入信息,直接往下运行了。

由于篇幅的问题,今天就讲到这里,以后还有讲到或用到此函数,再和大家分享。

今日内容回向:

1 inputbox 函数的作用有哪些?

2 inputbox 函数的参数有哪些,起到什么作用?

举报
评论 0