打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
从零开始,步入Word宏编程的世界(第二讲)

   实例二:基本的对话框函数
          知识点: 1、认识消息框函数MxgBox与输入框函数InputBox;
                   2、什么是常量、什么是变量、申明变量的方法是什么;
                   3、用“&”符号连接字符串。

    想想我们平时与他人谈话时的形式——你提问,他回答;或是他提问,你回答。我们所编写的程序,在与计算机进行交互的过程中,其形式也是这样的一问一答。所以,几乎所有的编程语言都提供有直接与计算机进行对话的函数,在VBA中,这样的最基本的函数是消息函数“MsgBox”与输入框函数“InputBox”。
请输入以下代码并运行:
’’’======还有待完善的程序一=====
Sub B()
Dim X
X = inputbox("您的姓名是:")。
Msgbox( " 欢迎您" & X & "朋友!")
End Sub


注意:1、在输入“Msgbox( " 欢迎您" & X &"朋友!")”这行代码时,括号内几个字符串之间有空格,没有输入空格的话会出错,出错时,代码将以红色显示。2、本程序运行时如果点“取消”按钮,其实会出现问题,关于对这个问题的解决方法,将在后面讨论。所以,我们先称本程序为“还有待完善的程序”。(朋友们可以先试一下,看看会出现什么问题?)。


运行效果如图2-1与图2-2。





看到了吗?这就是最简单的与计算机进行对话的效果。

 

代码解说:
      从Sub B()到End sub就是一个完整的过程——“B”。
      “InputBox("您的姓名是:")”这句代码是显示一个“输入框”,请您输入自己的姓名。这句代码事实上就是一个计算机提问,人回答的“对话”过程。其中,“InputBox”函数的作用就是弹出一个输入框,等待我们回答计算机的提问。


       当然,我们在回答计算机时,可能填的是“老王”也可能填的是“老李”……,这个答案本身是不固定的,所以,我们将这个答案的值赋予“变量”——“X”。这下,大家可能就知道“变量”的含意了吧?在程序运行中,我们经常会遇到值不能确定,或者是可能会发生改变的某个数据,在这个时候,我们就用一个“符号”来“代替”这个可能会变化的值,这个用来代替不能确定的值的“符号”,就是“变量”。
现在,我们删去本程序中的“DimX”这句后,再运行一下试试效果。怎么样,是不是感觉不到区别?(如果程序报错说“没有申明变量”的话,没有关系,请接着看下面的内容。)在VBA语言中允许我们不申明变量就直接运用它,所以程序仍然能够正常运行。“DimX”这句代码中的“Dim”就是申明变量的函数,“DimX”就是申明了一个名叫“X”的变量。在“X=inputbox("您的姓名是:")”这句代码中,我们利用等号,将输入框中取得的值赋予给了变量“X”。


      虽说我们不申明变量就可以使用它,但这绝对不是个好的习惯。首先,在一些代码较长的程序中,您能保证那些名字较长的变量在后面用到时,您不会输错吗?其次,自己不申明变量,时间久了,那些较长的程序可能会连您自己也看不懂;另外,程序在访问申明过的变量时,速度会比访问没有申明过的变量要快一些。
为了避免我们使用变量时出错,我们可以在VBE编辑器菜单的工具——选项——编辑器选项卡上,选中“要求申明变量”(见下面图2-3、2-4),这样VBE会自动在我们每一个工程的前面加上一句“OptionExplicit”,这句代码将检查我们所要使用的变量是否申明,没有申明的话就会中止程序的运行。做了上述的操作后,我们再运行去掉“Dim X”语句的过程,程序就会报“没有申明变量”的错误。


    关于变量,还有一些其它的知识,我们将在实例三中进行更深一步的学习,现在就到这吧。

    “Msgbox( " 欢迎您" & X &"朋友!")”这句中的“msgBox”函数,大家已不陌生,它的作用就是弹出一个消息框来(在本程序中,这个消息框就是计算机对我们输入姓名后的回答。)。
     在这个消息框所显示的文字中包含了三个部分。字符串“欢迎您”、字符串“朋友!”和变量“X”所可能对应的字符串“老王、老李……”等。在VBA语言中,我们使用“&”符号来连接字符串,所以我们在程序运行最后,看到的是一个像图2-2那样完整的欢迎语句。VBA语言中,在使用“&”连接符号时,请一定注意字符串与字符串之间有一个空格,否则程序一定会出错。
     由于MsgBox函数与InputBox函数是两个非常常用的对话函数,所以,我们再对它进行更深一步的学习。

 

使用MsgBox函数时的标准格式:
   变量=MsgBox(”要显示在这儿的语句”,按钮的参数,”消息框的题目”)
    例子:Y=MsgBox(”欢迎您” & X &”朋友!!”,0,”这里是欢迎对话框”)

请注意格式中英文状态下的引号、逗号与空格的使用。

 

使用InputBox函数时的标准格式:
    变量=InputBox(“要显示的提示文本”,” 输入框的题目”,”输入框中默认显示的语句”)
    例子:X= InputBox(“请输入您的姓名”,”这里是输入对话框”,”您的姓名请输入到这儿。”)。
    根据上面的格式,请修改本实例的程序代码为:
’’’======还有待完善的程序二=====
Sub B()
Dim X
Dim Y
X = inputbox("您的姓名是:",” 姓名输入框”,” 您的姓名请输入到这儿。”)
Y = Msgbox( " 欢迎您" & X & "朋友!",0,” 这里是欢迎对话框.”)
End Sub

 

   本段程序应该很容易读懂吧?运行一下,看看与前面程序的区别在什么地方?再分别把MsgBox函数的参数0替换为0、1、2、3、4、5这几个参数并运行,看看又有什么不同?怎么样,对话框中给出的提示是不是更丰富?下面的图2-5与图2-6是MsgBox函数的参数为“5”时的运行效果。(请与前面的图2-1与图2-2对比一下,看看到底哪些地方有了变化?)。

   程序写到这么详细,您是否已经觉得它已经很完善了呢?那么,在当程序要求您输入您的姓名时,如果您选择了“取消”,会有什么现象呢?对,“取消”按钮同样会向程序返回一个值。为了使用函数时更灵活一些,VBA将这些返回的值“固定”为以下的数值,这些在程序中被固定的值,就是“常数”。

MsgBox函数的常数如下:
   “确定”按钮被单击时,返回“1”;“取消”按钮被单击时,返回“2”;“终止”按钮被单击时,返回“3”;“重试”按钮被单击时,返回“4”;“忽略”按钮被单击时,返回“5”;“是”按钮被单击时,返回“6”;“否”按钮被单击时,返回“7”。

 

InputBox函数在使用过程中,当人们输入了值的时候,选择“确定”或按下回车键,则返回输入框中的内容,输入框中的内容显示不是“固定”的,也就是说它不是常数;但是,如果人们在要求输入之时选择的是“取消”按钮,则会返回一个值,这个值是“空值”,注意“空值”并不是“零”。所以,InputBox函数只有一个常数——“空”。

    下面,我们用:如果(If)、那么(Then)、否则(else)、结束(endif)判断语句来完善我们今天的实例。关于“If”判断语句,不是本实例的学习重点,下节课我们将会详细介绍它。代码中必要的地方已添加了注释(还记得为代码添加注释的方法吗?)。
’’=============完善后的B程序===============
Sub B()
Dim X
Dim Y
X = InputBox("您的姓名是:", " 姓名输入框", " 您的姓名请输入到这儿。")
If X <> "" Then’如果X的值不为“空”,那么
Y = MsgBox(" 欢迎您" & X & "朋友!", 0, " 这里是欢迎对话框.")
Else’否则(即,X的值为“空”)
End If’结束
End Sub

 

    代码“If X<> "" Then”中的“<>”是大于与小于符号,表示“不等于”的意思。
分别运行本程序与最前面的程序,并选择“取消”,对比一下运行的效果,从完善后的程序中——想必您不难看出“常数”在程序中的作用了吧?
   请再多体会体会这本实例中的这几个例子,您对MsgBox与InputBox这两个函数的熟悉程度,将直接影响您后面的学习。加点油吧。

 

本实例的知识扩展:
   1、请将本课中学到的MsgBox函数的参数分别运用到实例一中,看看效果如何。
   2、请思考:哪些情况下,会使用到MsgBox函数的不同返回的值?
 
   好了,实例二到此结束,请再回顾一遍本实例的知识点,您都掌握了吗?是不是觉得VBA并不像想象中那么困难?如果您确信已完全掌握了前面这两课的内容,那么,准备接受实例三的挑战吧!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VBScript入门
《Visual Basic程序设计教程(第3版)》第3章 顺序结构程序设计
Inputbox函数/方法应用
第六章 VBA常用语句
VBS教程<上><转>
灵活实用的VBS入门教程基础篇
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服