vbs
VBS的全称是:Microsoft Visual Basic Script Editon。(微软公司可视化BASIC脚本版)。正如其字面所透露的信息,VBS是基于Visual Basic的脚本语言。Microsoft Visual Basic是微软公司出品的一套可视化编程工具,语法基于Basic。脚本语言,就是不编译成二进制文件,直接由宿主(host)解释源代码并执行,简单点说就是你写的程序不需要编译成.exe,而是直接给用户发送。VBS的源程序,用户就能执行了。
Microsoft Visual Basic Scripting Edition是程序开发语言Visual Basic家族的最新成员,它将灵活的脚本应用于更广泛的领域,包括Microsoft Internet Explorer中的Web客户机脚本和Microsoft Internet Information Service中的Web服务器脚本。
了解VisualBasic或Visual Basicfor Applications,就会很快熟悉VBScript。即使您没有学过Visual Basic,只要学会VBScript,就能够使用所有的Visual Basic语言进行程序设计。虽然您可以从本教程的几个Web页面中学习VBscript,但是本教程并没有告诉您如何编程。要学习编程,请阅读由Microsoft Press出版的《Stepby Step》。
VBScript使用ActiveX(R)脚本与宿主应用程序对话。使用ActiveX Script,浏览器和其他宿主应用程序不再需要每个脚本部件的特殊集成代码。ActiveX脚本使宿主可以编译Script、获取和调用入口点及管理开发者可用的命名空间。通过ActiveX Script,语言厂商可以建立标准脚本运行时语言。Microsoft将提供VBScript的运行时支持。Microsoft正在与多个Internet组一起定义ActiveX脚本标准以使脚本引擎可以互换。ActiveX脚本可用在Microsoft(R) Internet Explorer和Microsoft(R)Internet Information Service中。
作为开发者,可以在您的产品中免费使用VBScript源实现程序。Microsoft为32位Windows(R)API、16位WindowsAPI和Macintosh(R)提供VBscript的二进制实现程序。VBScript与World Wide Web浏览器集成在一起。VBScript和ActiveX脚本也可以在其他应用程序中作为普通脚本语言使用。
在VBS中,变量类型并不是那么重要,就是说VBS会帮你自动识别变量类型,而且变量在使用前不一定要先声明,程序会动态分配变量空间。在VBS中你不用考虑name储存的是一个整数还是一个小数(学名叫“浮点数”),也不用考虑是不是字符串(一串字符,比如:“HelloWorld”),VBS会自动帮你搞定。所以第三行语句可以删除,效果不会变,但我强烈反对这么做,一个变量的基本原则就是:先声明,后使用。变量名用字母开头,可以使用下划线,数字,但不能使用vbs已经定义的字,比如dim,也不能是纯数字。
下一行被称之为“赋值”,“=”是赋值符号,并不是数学中的等于号,尽管看起来一样。这是正统的理解,你要理解成等于也没有什么不可。赋值号的左边是一个变量,右边是要赋给变量的值,经过赋值以后,msg这个变量在程序中等同于“请输入你的名字:”这个字符串,但当msg被再次赋值的时候,原值就会消失。不光字符串,其他任何变量都这样被赋值,例如:a=2,b=12.222等等。
Inputbox和Msgbox是VBS内建的函数,一个函数就相当于一个“黑箱”,有输入(参数)和输出(返回值),你可以不用了解函数是怎么运作的,只要了解这个函数能干什么就行了,我们也可以定义自己的函数,不过那要等到以后再讲。现在我们只要了解,一个函数可以有返回值也可以没有,可以有参数也可以没有。例如Inputbox就是有返回值的函数,用赋值号左边的变量来“接”住InputBox的返回值--就是你输入的内容。
在inputbox右边的括号里是参数列表,每个参数用“,”分隔开,每个参数有不同的功效,比如第一个参数会显示在提示里,我们把msg这个变量作为第一个参数传给了Inputbox函数,而msg=“请输入你的名字:”,所以在对话框的提示栏就会看到“请输入你的名字:”第二个参数是对话框的标题,用直接量(学名叫“常量”,这里是“字符串常量”)传递给函数,当然你也可以传递变量。Inputbox还有很多参数,比如你在“名称”后面再加一个“,”然后输入随便一串字符(字符串,用双引号“”包裹起来的一串字符叫做字符串)然后运行,看看结果。你会发现用于输入的文本框有了默认的值,这就是第三个参数的作用。
Msgbox函数是用来输出的函数,在VBS中没有专门的输出函数(BASIC中的print,C中的printf),所以只能用对话框来观察输出结果,Msgbox的必要参数只有一个,就是要输出的内容,在这种情况下,不需要理会msgbox的返回值。
常量分为两种:第一种,自然常量。在程序中使用“21=46”,这样的语句将会引发一个错误。同样的,字符串也是常量,“HelloWorld”就是一个例子,如果你使用“HelloWorld”=“Bye”这样的语句同样会引发一个错误。第二种,是自己定义的常量,这种量也使用代号,他们也被赋值,但和变量的不同点在于,他们在定义的时候被赋值,以后就不能改变了,如果企图改变将会引发一个错误。定义一个变量,使用“const”这个关键字(关键字的意思是系统定义了有特殊功能的字,不能作为变量名或常量名使用)。
格式是:const常量名=常量值。
例如:
constPI=3.1415926
constNAME=“记忆碎片”
定义了两个常量,PI和NAME,一般说来,常量名全部使用大写,但也可以不用。将一些在程序中不需要改变的值定义为常量是个好习惯,这样能防止不必要的意外。另外,使用自定义常量也可以减少你的工作量。比如:
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
这个程序输出五次HelloWorld,如果你想要改变输出为Bye-Bye,就必须修改全部程序,当然你可以手动修改5次,但如果你要输出1000次,常量就可以解决这个问题:
consthw="HelloWorld"
msgbox(hw)
msgbox(hw)
msgbox(hw)
msgbox(hw)
msgbox(hw)
这样当你要修改输出的时候只要修改hw的值就行了。
好了,编程的第一块重要“基石”:变量。解释变量最好的办法是“盒子”,一个变量好像一个盒子,里面只能装一个东西,当你要装进去别的东西的时候必须把原有的东西拿出来。这个“盒子”是有名称的,当你在程序中使用变量的时候,系统会打开盒子取出里面的东西,让这些东西参与处理,而不是盒子。有些语言是很依赖“盒子”里面装些什么东西,这样才能找到合适的“盒子”(比如C语言),但VBS提供的是能够自动伸缩的“魔术盒”。
要点:
1、常量分为自然常量和自定义常量,常量的值不可修改;
2、变量就像盒子,不在乎盒子里装的是什么,但一定要知道盒子的名字;
3、四则运算在编程中没有任何不同;
4、MOD是取余运算。
Test(c)方法调用时,VB会认为你传递的不是一个变量,而是一个表达式:(c),这个表达式运算结果,虽然与c值相同,但却是保存在一个临时变量中,这个临时变量的改变不会影响到原来的变量c。
通常,VB6的Function函数调用方法有两种:
FuncParams
CallFunc(Params)
参数c都是通过默认的传引用方式传递,执行完函数Test后,c的值会随之改变。因此方法一和方法四的结果为:2。还有这样一种调用方法:Func(Expression)。
注意到没有,括号中的内容不是Params,而是Expression,是一个表达式,而表达式的计算结果会被保存到一个临时变量中传入函数体,函数调用完毕后临时变量也随之销毁。因此,调用方法二时,表达式(c)的计算结果为1,保存到了一个临时变量传入函数Test中,函数执行完成后,原来的c值并不发生改变。同理,方法三的调用更加显得直观一些,(c+1)的表达式运算结果被保存到了一个临时变量传入Test,原来的c值并不发送改变。
VB6和VBS中的函数参数默认是ByRef类型的。Test(c)方法调用时,VB会认为你传递的不是一个变量,而是一个表达式:(c),这个表达式运算结果,虽然与c值相同,但却是保存在一个临时变量中,这个临时变量的改变不会影响到原来的变量c。
循环用于重复执行一组语句。循环可分为三类:一类在条件变为False之前重复执行语句,一类在条件变为True之前重复执行语句,另一类按照指定的次数重复执行语句。
在VBScript中可使用下列循环语句:
Do...Loop:当(或直到)条件为True时循环。
While...Wend:当条件为True时循环。
For...Next:指定循环次数,使用计数器重复运行语句。
ForEach...Next:对于集合中的每项或数组中的每个元素,重复执行一组语句。
可以使用Do...Loop语句多次(次数不定)运行语句块。当条件为True时或条件变为True之前,重复执行语句块。
当条件为True时重复执行语句
While关键字用于检查Do...Loop语句中的条件。有两种方式检查条件:在进入循环之前检查条件(如下面的Chk First While示例);或者在循环至少运行完一次之后检查条件(如下面的Chk Last While示例)。在Chk First While过程中,如果my Num的初始值被设置为9而不是20,则永远不会执行循环体中的语句。在Chk Last While过程中,循环体中的语句只会执行一次,因为条件在检查时已经为False。
Until关键字用于检查Do...Loop语句中的条件。有两种方式检查条件:在进入循环之前检查条件(如下面的ChkFirstUntil示例);或者在循环至少运行完一次之后检查条件(如下面的Chk Last Until示例)。只要条件为False,就会进行循环。
| MYSQL | IP | ICP | ALEXA | PR | SEO |
| CGI | FSO | FTP | POP3 | WCM | ECM |
| FLASH | WEB | GPU | CPA | DIV | CSS |
| HTML | BBS | .NET | XML | AJAX | MD5 |
1、http://www.tarric.cn/TOOLS/VBS/vbswhat-1.htm
2、http://www.yesky.com/imagesnew/software/vbscript/index.html
3、http://www.jb51.net/list/list_114_1.htm
)






