VBS的MsgBox是比较常用的信息交互控件,那么我们该怎么使用它呢?下面我给大家分享一下。
工具/材料Sublime text
首先我们打开Sublime软件,新建一个vbs程序文件,然后在程序文件中输入最简单的MsgBox用法,如下图所示
然后我们运行程序文件,你会看到d出了一个框,框中展示了我们写的一些信息,这就是Msgbox最简单常用的用法,如下图所示
另外还有一个比较常用的方法就是带按钮的Msgbox,如下图所示,我们给Msgbox添加第二个参数即可
双击编写号的vbs程序文件,你会看到这次的d出框带了按钮了,这种也是比较常用的
1. 在资源管理器里面双击一个.vbs文件。2. 程序里面发生了一个错误,例如异常,或者编程逻辑错误。
3. 一行行阅读源文件,然后在估计发生错误的地方,添加很多的Msgbox.Show,打印一些变量的值。
4. 重新执行.vbs文件
5. “当当当”,一系列的 “确定”点完了以后,人也晕了,重新回到第三步继续……
其实我们也是可以用Visual Studio调试这类WSH程序的,关键就在.vbs等WSH脚本程序的解释器wscript.exe和cscript.exe提供了调试支持:
1. 当我们在资源管理器里面双击一个.vbs文件时,资源管理器实际上是运行wscript.exe来解释和执行这个.vbs文件的。
2. Wscript.exe和cscript.exe都支持这两个选项 /D – 启用调试功能,/X – 在调试器里面执行脚本程序。
这样,我们可以使用两种方法在Visual Studio里面调试脚本程序,这里我只介绍第二种方法 -- 第一种方法不知道为什么我的Win 7 + Visual Studio 2008不能工作,:(。
例如下面的.vbs代码,将它保存到c:"test.vbs,我们要调试这个程序,源文件如下:
Set obj = CreateObject("System.Collections.ArrayList")
obj.Add("this is a test")
obj.Add(1)
obj.Add(obj)
Msgbox obj(0)
Msgbox obj(1)
Msgbox obj(2).ToString()
1. 打开命令行,更换目录到C:盘,执行下面这个命令:
Wscript.exe /X test.vbs
2. 这个时候,应该会d出一个Visual Studio对话框,提示你选择合适的调试器,直接点击上面的确定按钮就好了。
3. 最后,你就可以跟调试C#或者C++程序一样,在 Visual Studio里面设置断点,查看变量的值了
MsgBox是Visual Basic和VBS中的一个函数,功能是d出一个对话框,等待用户单击按钮,并返回一个Integer值表示用户单击了哪一个按钮。“MsgBox”即为“Message Box”的缩写,在英语中意为“信箱”。
语法:
MsgBox (Prompt [,Buttons] [,Title] [,Helpfile,Context])
说明:
在提供了Helpfile与Context参数的时候,用户可以按F1来查看由Context参数指定的帮助主题。像Microsoft Excel这样的一些主机应用程序就会在对话框中自动添加一个帮助按钮。
如果对话框显示“取消”按钮,则按下Esc键与单击“取消”按钮的效果相同。如果对话框中有帮助按钮,则对话框中提供与上下文相关的帮助。但是,直到其它按钮中有一个被单击之前,都不会返回任何值。
代码示例:
一、使用MsgBox函数,在具有“是”及“否”按钮的对话框中显示一条错误信息。示例中的缺省按钮为“否”,并假设Demo.hlp为一帮助文件,其中有一个帮助主题编号为1000。
Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "程序发生错误,继续?" '定义消息文本
Style = vbYesNo + vbCritical + vbDefaultButton2 '定义对话框样式
Title = "错误信息" '定义标题文本
Help = "Demo.hlp" '定义帮助文件
Ctxt = 1000 '定义帮助主题编号
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then '用户按下“是”按钮
MyString = "Yes" '进行某些 *** 作
Else '用户按下“否”按钮
MyString = "No" '进行某些 *** 作
End If
二、使用vbCrLf常数在消息内容中换行。
MsgBox "第1行" &vbCrLf &"第2行"
三、使用vbTab常数显示多行对齐的文本。
MsgBox "常数" &vbTab &"值" &vbCrLf &_
"vbOK" &vbTab &1 &vbCrLf &_
"vbCancel" &vbTab &2 &vbCrLf &_
"vbAbort" &vbTab &3 &vbCrLf &_
"……" &vbTab &"……", _
vbOKOnly, "MsgBox函数返回值"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)