vbs函数不固定参数测试代码:
function test(ByRef paralist)
For Each param In paralist
MsgBox param
Next
End Function
vbs函数程序:
其实任何一种文本编辑器都可以用来开发VBS, 只不过记事本是由系统自带的, 比较好找而已. 尽管如此,
使用InputBox和Msgbox函数
(上面及本行可以不必写入源代码中,下面才是运行的代码)
Msgbox (Inputbox("输入名字:"))
把上面的程序清单输入到记事本里面, 然后保存为以.vbs为扩展名的文件(如果在文件名上没有“***”,就打开控制面板-文件夹选项-查看-取消隐藏已知文件类型的扩展名)。然后双击, 观察运行结果.
为了上面的东西更精简,更明了,精简一下它的内容:
name=Inputbox("请输入你的姓名:")
Msgbox(name)
语法解释:
第一行,给第一行的inputbox(输入框)命名:name
第二行,弹出对话框,对话框的内容就是第一行的inputbox输入的内容。
注意:为了学得更好,推荐自己输入程序清单, 尽量不要复制->粘贴。
要点:
(1) 注释(以REM或'开头)行在程序中不起作用, 但能让别人更容易读懂程序。
(2)变量好像一个盒子, 或一个代号, 可以代表想代表的东西. 变量赋值使用"="
(3) 以""包裹起来的字符称之为"字符串"。
(4) 函数像一个"黑箱", 有参数和返回值, 用"="左边的变量可以接住返回值。
(5) Inputbox函数弹出一个输入对话框,Msgbox则用于输出。
vbs中不能达到这个功能,曾试过一种方法,如下,但是被证实是不行的:
function a(x,y,z)
if isnull(z) then z=0 '设定一个默认值,如果不输入z参数的话,以默认值代替
if isnull(y) then y=0
msgbox x
msgbox y
msgbox z
end function
以上经调试发现还是参数错误,不得已,只好上网请教高手,找到一个不算是答案的答案,勉强算是一个解决方法吧,可以参考一下这个网址:http://blog.csdn.net/zhsp1029/article/details/4202981
VBS中不可以这样。
你可以改为数组。如:
function a(arr())
msgbox arr(0)
msgbox arr(1)
end function
另,在VBS中没有数据类型,全部是变体型,即variant,可接受任何类型数据。
function test(ByRef paralist)
For Each param In paralist
MsgBox param
Next
End Function
'测试代码
Dim arr(1)
arr(0) = "a"
arr(1) = "b"
test(arr)