VBScript(Microsoft VBScript(Microsoft Visual Basic Script Visual Basic Script Visual Basic Script Editon).Editon).Editon).,微软公司可视化,微软公司可视化BASIC 脚本版脚本版). ). ). 正正如其字面所透露的信息如其字面所透露的信息, , VBS(VBScript 的进一步简写的进一步简写))是基于Visual Basic 的脚本语言的脚本语言. . . 我我进一步解释一下进一步解释一下, Microsoft Visual Basic , Microsoft Visual Basic 是微软公司出品的一套可视化编程工具是微软公司出品的一套可视化编程工具, , , 语法语法基于Basic. Basic. 脚本语言脚本语言脚本语言, , , 就是不编译成二进制文件就是不编译成二进制文件就是不编译成二进制文件, , , 直接由宿主直接由宿主直接由宿主(host)(host)(host)解释源代码并执行解释源代码并执行解释源代码并执行, , 简单点说就是你写的程序不需要编译成简单点说就是你写的程序不需要编译成.exe, .exe, .exe, 而是直接给用户发送而是直接给用户发送而是直接给用户发送.vbs .vbs 的源程序的源程序, , , 用户就用户就能执行了能执行了. .
VBS 的基础教程
第一篇(共六篇)
我知道菜鸟现在最关心的就是用什么工具来开发VBS 程序了程序了, , , 答案是答案是答案是::记事本记事本((Notepad ),我不是开玩笑,我不是开玩笑, , , 其实任何一种文本编辑器都可以用来开其实任何一种文本编辑器都可以用来开发VBS 开发开发, , , 只不过记事本是由系统自带的只不过记事本是由系统自
带的只不过记事本是由系统自带的, , , 比较好而已比较好而已比较好而已. . . 尽管如此尽管如此尽管如此, , 我还是建议你去下载一个专业的文本编辑器我还是建议你去下载一个专业的文本编辑器, , , 因为这些工具可以提供因为这些工具可以提供因为这些工具可以提供 " " "语语法高亮法高亮""等功能等功能, , , 更加方便开发更加方便开发更加方便开发, , , 用哪一个随你喜好用哪一个随你喜好用哪一个随你喜好, , , 我比较喜欢我比较喜欢Edit Plus Plus,,ScriptCryptor 也不错也不错
OK, OK, 我们先来写一个我们先来写一个VBScript 程序热热身程序热热身. .
REM REM 输入并回显你的名字输入并回显你的名字输入并回显你的名字
'使用InputBox 和Msgbox 函数函数
'(上面及本行可以不必写入源代码中,下面才是运行的代码)(上面及本行可以不必写入源代码中,下面才是运行的代码) Dim name,msg
msg="msg="请输入你的名字请输入你的名字请输入你的名字:" :"
name=Inputbox(msg)
Msgbox(name)
把上面的程序清单输入到记事本里面把上面的程序清单输入到记事本里面, , , 然后保存为以然后保存为以然后保存为以.vbs .vbs 为扩展名的文件(如果在文件名上没有“.***”,就打开控制面板文件(如果在文件名上没有“.***”,就打开控制面板--文件夹选项文件夹选项--查看查看--取消隐藏已知文件类型的扩展名取消隐藏已知文件类型的扩展名).).).然后双击然后双击然后双击, , , 观察运行结果观察运行结果观察运行结果. .
注意:为了使你学得更好,推荐自己输入程序清单, 尽量不要复制->粘贴
我来解释一下这个程序我来解释一下这个程序, , , 第一行和第二行的开头分别是第一行和第二行的开头分别是第一行和第二行的开头分别是"REM""REM""REM"语句和语句和语句和" " ' ' ", ", ", 这两个东西的作用是相同的这两个东西的作用是相同的这两个东西的作用是相同的, , , 表示之后的文字是注释表示之后的文字是注释表示之后的文字是注释, , , 就是说符号后就是说符号后的什么也不干的什么也不干,,只是用来说明这段程序的功能只是用来说明这段程序的功能, , , 版权信息等等版权信息等等版权信息等等. . . 注释行是注释行是程序最重要的部分之一程序最重要的部分之一, , , 尽管它不是必需的尽管它不是必需的尽管它不是必需的, , , 但对于其他人阅读源代码但对于其他人阅读源代码但对于其他人阅读源代码, , 以及自己分析源代码是很有好处的以及自己分析源代码是很有好处的. . . 好的习惯是在必要的地方加上清晰好的习惯是在必要的地方加上清晰好的习惯是在必要的地方加上清晰, , 简洁的注释简洁的注释. .
Dim 用来声明一个变量用来声明一个变量, , , 在在VBS 中, , 变量类型并不是那么重要变量类型并不是那么重要变量类型并不是那么重要, , , 就是就是说VBS 会帮你自动识别变量类型会帮你自动识别变量类型, , , 而且变量在使用前不一定要先声明而且变量在使用前不一定要先声明而且变量在使用前不一定要先声明, , , 程程序会动态分配变量空间序会动态分配变量空间. . . 在在VBS 中你不用考虑name 储存的是一个整数还是
一个小数一个小数((学名叫学名叫""浮点数浮点数"), "), "), 也不用考虑是不是字符串也不用考虑是不是字符串也不用考虑是不是字符串((一串字符一串字符, , , 比比如:"Hello World"), VBS 会自动帮你搞定会自动帮你搞定. . . 所以第三行语句可以删除所以第三行语句可以删除所以第三行语句可以删除, , , 效效果不会变果不会变, , , 但我强烈反对这么做但我强烈反对这么做但我强烈反对这么做, , , 一个变量的基本原则就是一个变量的基本原则就是一个变量的基本原则就是::先声明先声明,,后使用.变量名用字母开头变量名用字母开头,,可以使用下划线可以使用下划线,,数字数字, , , 但不能使用但不能使用vbs 已经定义的字, , 比如比如dim, dim, 也不能是纯数字也不能是纯数字也不能是纯数字. .
下一行被称之为下一行被称之为""赋值赋值", "="", "="", "="是赋值符号是赋值符号是赋值符号, , , 并不是数学中的等于号并不是数学中的等于号并不是数学中的等于号, , , 尽尽管看起来一样管看起来一样..这是正统的理解这是正统的理解, , , 你要理解成等于也没有什么不可你要理解成等于也没有什么不可你要理解成等于也没有什么不可. . . 赋值赋值号的左边是一个变量号的左边是一个变量, , , 右边是要赋给
变量的值右边是要赋给变量的值右边是要赋给变量的值, , , 经过赋值以后经过赋值以后经过赋值以后, , msg 这个变量在程序中等同于量在程序中等同于""请输入你的名字请输入你的名字:":":"这个字符串这个字符串这个字符串,,但当msg 被再次赋值的时候时候, , , 原值就会消失原值就会消失原值就会消失. . . 不光字符串不光字符串不光字符串, , , 其他任何变量都这样被赋值其他任何变量都这样被赋值其他任何变量都这样被赋值, , , 例如例如例如: : a=2, b=12.222等等等等. .
再往下再往下,Inputbox ,Inputbox 和Msgbox 是VBS 内建的函数内建的函数, , , 一个函数就相当于一一个函数就相当于一个"黑箱黑箱", ", ", 有输入有输入有输入((参数参数))和输出和输出((返回返回))值, , 你可以不用了解函数是怎么运你可以不用了解函数是怎么运作的作的, , , 只要了解这个函数能干什么就行了只要了解这个函数能干什么就行了只要了解这个函数能干什么就行了, , , 我们也可以定义自己的函数我们也可以定义自己的函数我们也可以定义自己的函数, , 不过那要等到以后再讲不过那要等到以后再讲. . . 现在我们只要了解现在我们只要了解现在我们只要了解, , , 一个函数可以有返回值也可一个函数可以有返回值也可以没有以没有, , , 可以有参数也可以没有可以有参数也可以没有可以有参数也可以没有. . . 例如例如Inputbox 就是有返回值的函数就是有返回值的函数, , , 我我们用赋值号左边的变量来们用赋值号左边的变量来""接"住InputBox 的返回值的返回值------就是你输入的内容就是你输入的内容就是你输入的内容. . 在inputbox 右边的括号里是参数列表右边的括号里是参数列表, , , 每个参数用每个参数用每个参数用","","","分隔开分隔开分隔开, , , 每个参数每个参数有不同的功效有不同的功效, , ,
比如第一个参数会显示在提示里比如第一个参数会显示在提示里比如第一个参数会显示在提示里, , , 我们把我们把msg 这个变量作为第一个参数传给了Inputbox Inputbox 函数函数函数, , , 而而msg="msg="请输入你的名字请输入你的名字请输入你的名字:", :", :", 所以我所以我们在对话框的提示栏就会看到们在对话框的提示栏就会看到""请输入你的名字请输入你的名字:" :" :" 第二个参数是对话框的第二个参数是对话框的标题标题, , , 我们用直接量我们用直接量我们用直接量((学名叫学名叫""常量常量", ", ", 这里是这里是这里是""字符串常量字符串常量")")")传递给函数传递给函数传递给函数, , 当然你也可以传递变量当然你也可以传递变量. Inputbox . Inputbox 还有很多参数还有很多参数, , , 比如你在比如你在比如你在""名称名称""后面再加一个加一个","","","然后输入随便一串字符然后输入随便一串字符然后输入随便一串字符((字符串字符串,,用双引号用双引号""""""包裹起来的一串字包裹起来的一串字符叫做字符串符叫做字符串))然后运行然后运行, , , 看看结果看看结果看看结果. . . 你会发现用于输入的文本框有了默你会发现用于输入的文本框有了默认的值认的值, , , 这就是第三个参数的作用这就是第三个参数的作用这就是第三个参数的作用. .
Msgbox 函数是用来输出的函数函数是用来输出的函数, , , 在在VBS 中没有专门的输出函数中没有专门的输出函数(BASIC (BASIC 中的print,C 中的printf), printf), 所以我们只能用对话框来观察输出结果所以我们只能用对话框来观察输出结果所以我们只能用对话框来观察输出结果, , Msgbox 的必要参数只有一个的必要参数只有一个, , , 就是要输出的内容就是要输出的内容就是要输出的内容, , , 在这种情况
下在这种情况下在这种情况下, , , 我们不我们不需要理会msgbox 的返回值的返回值. . . 关于关于Msgbox 和Inputbox 我们以后还会在讨论我们以后还会在讨论, , 今天只是热热身今天只是热热身, , , 到此为止到此为止到此为止. .
要点:
1) 1) 注释注释注释((以REM 或'开头开头))行在程序中不起作用行在程序中不起作用, , , 但能让别人更容易读但能让别人更容易读懂你的程序懂你的程序. .
2) 2) 变量好像一个盒子变量好像一个盒子变量好像一个盒子, , , 或一个代号或一个代号或一个代号, , , 可以代表你想代表的东西可以代表你想代表的东西可以代表你想代表的东西. . . 变变量赋值使用量赋值使用"=" "="
3) 3) 以以""""包裹起来的字符称之为包裹起来的字符称之为包裹起来的字符称之为""字符串字符串" "
4) 4) 函数像一个函数像一个函数像一个""黑箱黑箱", ", ", 有参数和返回值有参数和返回值有参数和返回值, , , 用用"=""="左边的变量可以接住左边的变量可以接住返回值返回值
5) Inputbox 函数弹出一个输入对话框函数弹出一个输入对话框,Msgbox ,Msgbox 则用于输出则用于输出 作业:
1) 1) 试验试验Inputbox 的第三个参数的第三个参数
2) 2) 写一段程序输出你的年龄写一段程序输出你的年龄写一段程序输出你的年龄
3) 3) 写一段程序进行写一段程序进行3次输入次输入, , , 分别输入你和你父母的姓名分别输入你和你父母的姓名分别输入你和你父母的姓名((要求显示提示提示), ), ), 并分并分3次输出次输出
第二篇(共六篇)
我真没想到我真没想到, , , 第一次的作业竟然有人不会第一次的作业竟然有人不会第一次的作业竟然有人不会..看来要讲的非常非常细致才行才行, , , 嗯嗯, , 今天讲各种今天讲各种今天讲各种""量"和基本运算和基本运算
先说常量先说常量, , , 这个比较简单这个比较简单这个比较简单. .
什么是常量呢什么是常量呢, , , 常量就是其值不可变化的量常量就是其值不可变化的量常量就是其值不可变化的量. .
常量分为两种常量分为两种::第一种第一种, , , 自然常量自然常量自然常量. . . 这叫是因为它们本身就是常量这叫是因为它们本身就是常量这叫是因为它们本身就是常量, , 你怎么更改21的值呢的值呢? ? ? 他永远都是他永远都是21, 21, 不可能变成不可能变成46
如果你在程序中使用如果你在程序中使用"21=46", "21=46", "21=46", 这样的语句将会引发一个错误这样的语句将会引发一个错误这样的语句将会引发一个错误. . . 同样同样的, , 字符串也是常量字符串也是常量字符串也是常量 ( ( (还记得字符串吗还记得字符串吗还记得字符串吗? ? ? 就是包裹在就是包裹在就是包裹在""""""之间的一串字符之间的一串字符之间的一串字符), ), "Hello World""Hello World"就是一个例子就是一个例子就是一个例子, , , 如果你使用如果你使用如果你使用"Hello World"="Bye""Hello World"="Bye""Hello World"="Bye"这样的语这样的语句同样会引发一个错误句同样会引发一个错误. . . 你能举出自然常量的更多例子吗你能举出自然常量的更多例子吗你能举出自然常量的更多例子吗? ?
第二种第二种, , , 是我们自己定义的常量是我们自己定义的常量是我们自己定义的常量,,这种量也使用代号这种量也使用代号, , , 它们也被赋值它们也被赋值它们也被赋值, , 但和变量的不同点在于但和变量的不同点在于, , , 他们在定义的时候被赋值他们在定义的时候被赋值他们在定义的时候被赋值,,以后就不能改变了以后就不能改变了,,如果企图改变将会引发一个错误果企图改变将会引发一个错误. . . 定义一个变量定义一个变量定义一个变量,,我们使用我们使用"const""const""const"这个关键这个关键字(关键字的意思是系统定义了有特殊功能的字关键字的意思是系统定义了有特殊功能的字, , , 不能作为变量名或常量不能作为变量名或常量名使用名使用) )
格式是格式是:const :const :const 常量名常量名常量名==常量值常量值. .
例如例如: :
const PI=3.1415926
const NAME="const NAME="记忆碎片记忆碎片记忆碎片" "
这样我们就定义了两个常量这样我们就定义了两个常量, PI , PI 和NAME, NAME, 一般说来一般说来一般说来, , , 常量名全部使用常量名全部使用大写大写, , , 但也可以不用但也可以不用但也可以不用, , , 随你喜好随你喜好随你喜好. . . 将一些在程序中不需要改变的值定义为将一些在程序中不需要改变的值定义为常量是个好习惯常量是个好习惯, , , 这样能防止不必要的意外这样能防止不必要的意外这样能防止不必要的意外. . . 另外另外另外, , , 使用自定义常量也可使用自定义常量也可以减少你的工作量以减少你的工作量. . . 比如比如比如: :
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
vbs小程序代码大全这个程序输出五次Hello World, Hello World, 如果你想要改变输出为如果你想要改变输出为Bye-Bye, Bye-Bye, 就就必须修改全部程序必须修改全部程序, , , 当然你可以手动修改当然你可以手动修改5次, , 但如果你要输出但如果你要输出1000次呢次呢? ? 常量就可以替我们解决这个问题常量就可以替我们解决这个问题: :
const hw="Hello World"
msgbox(hw)
msgbox(hw)
msgbox(hw)
msgbox(hw)
msgbox(hw)
这样当你要修改输出的时候只要修改hw 的值就行了的值就行了. .
好了好了, , , 现在我们来看看编程的第一块重要现在我们来看看编程的第一块重要现在我们来看看编程
的第一块重要""基石基石":":":变量变量变量. . . 解释变量最解释变量最好的办法我觉得是好的办法我觉得是""盒子盒子", ", ", 一个变量好像一个盒子一个变量好像一个盒子一个变量好像一个盒子, , , 里面只能装一个东西里面只能装一个东西里面只能装一个东西, , 当你要装进去别的东西的时候必须把原有的东西拿出来当你要装进去别的东西的时候必须把原有的东西拿出来. . . 这个这个这个""盒子盒子""是有名称的名称的, , , 当你在程序中使用变量的时候当你在程序中使用变量的时候当你在程序中使用变量的时候, , , 系统会打开盒子取出里面的东西系统会打开盒子取出里面的东西系统会打开盒子取出里面的东西, , 让这些东西参与处理让这些东西参与处理, , , 而不是盒子而不是盒子而不是盒子. . . 有些语言是很依赖有些语言是很依赖有些语言是很依赖""盒子盒子""里面装些什么东西么东西, , , 这样才能到合适的这样才能到合适的这样才能到合适的""盒子盒子"("("(比如比如C 语言语言), ), ), 但但VBS 给我提供的是能够自动伸缩的能够自动伸缩的""魔术盒魔术盒", ", ", 我们不用关心装进去的是什么东西我们不用关心装进去的是什么东西我们不用关心装进去的是什么东西, , VBS 会自动调整盒子的大小调整盒子的大小. . . 例如例如例如: :
Dim a1,a2,a3
a1=14
a2=12.23 a3="Hello"
而不用像C 语言那样麻烦语言那样麻烦: : : 或者是或者是VB 的正规声明的正规声明(VB (VB 可以声明也可以不用不用))那样那样: :
int a1; Dim a1 as integer
float a2; Dim a2 as Double
char* a3; Dim a3 as string
a1=14; a1=14
a2=12.23; a2=12.23
a3="Hello"; a3="Hello"
嗯……扯远了……
变量有什么用呢变量有什么用呢? ? ? 哇哇, , 那用处可大了那用处可大了那用处可大了. . . 最简单最简单最简单, , , 你并不能确定程序运你并不能确定程序运行时变量的值行时变量的值, , , 比如前一节课我们编的输入姓名的程序比如前一节课我们编的输入姓名的程序比如前一节课我们编的输入姓名的程序, ,
, 你不能确定你不能确定InputBox 返回的是什么返回的是什么((还记得Inputbox 的返回值吗的返回值吗? ? ? 就是你输入的内容就是你输入的内容就是你输入的内容), ), 所以你就没有办法应对各种情况所以你就没有办法应对各种情况, , , 但我们用但我们用name 这个这个""盒子盒子""把用户的名字装起来装起来, , , 到用的时候我们只要知道到用的时候我们只要知道name 这个盒子的名字就行了这个盒子的名字就行了, , , 系统会自系统会自己打开它并把里面的内容拿出来用己打开它并把里面的内容拿出来用. . . 再举个例子再举个例子再举个例子, , , 我们编写一个程序计算我们编写一个程序计算一个矩形的面积一个矩形的面积, , , 比如这个程序要发给小学生使用比如这个程序要发给小学生使用比如这个程序要发给小学生使用: :
dim a,b,s
a=15
b=12
s=a*b
msgbox(s)
这样就可以求出长为15,15,宽为宽为12的矩形的面积了的矩形的面积了, , , 是不是很简单是不是很简
单是不是很简单? ? ? 当当然, 这个程序也可以这样写这个程序也可以这样写: :
dim s
s=15*12
msgbox(s)
这样看起来程序短了许多这样看起来程序短了许多, , , 也节约内存也节约内存也节约内存, , , 但两种都不是鼓励的做法但两种都不是鼓励的做法但两种都不是鼓励的做法, , 为什么为什么? ? ? 请看下面请看下面请看下面. .
现在现在, , , 我们的程序要变得像点样子才行我们的程序要变得像点样子才行我们的程序要变得像点样子才行, , , 谁的程序写出来还要别人修谁的程序写出来还要别人修改源代码才能用啊改源代码才能用啊? ?
所以所以, , , 我们要接受用户的输入我们要接受用户的输入我们要接受用户的输入, , , 还记得吗还记得吗还记得吗? InputBox ? InputBox 函数函数. . 修改后程序如下修改后程序如下: :
dim a,b,s
a=inputbox("a=inputbox("请输入矩形的长请输入矩形的长请输入矩形的长:") :")
b=inputbox("b=inputbox("请输入矩形的宽请输入矩形的宽请输入矩形的宽:") :")
s=a*b
msgbox(s) ok, ok, 这么一修改这么一修改这么一修改, , , 无论用户输入怎样的数据无论用户输入怎样的数据无论用户输入怎样的数据, , , 我们都能计算出矩形的我们都能计算出矩形的面积了面积了. . . 如果你用如果你用s=15*12能改吗能改吗? ? ? 当然不行当然不行当然不行. .
我想你已经发现了我想你已经发现了, vbs , vbs 中的数学计算和真正的算术没有什么不同中的数学计算和真正的算术没有什么不同, , +,-,*,/,(),[],{}+,-,*,/,(),[],{}都是一样的用法都是一样的用法都是一样的用法, , , 比如比如比如: :
dim ans
ans=12+32/4+[(23-10)*2]
msgbox(ans)
四则运算的法则在编程中同样生效四则运算的法则在编程中同样生效, , , 你可以在编程中重新获得小学时你可以在编程中重新获得小学时候的乐趣候的乐趣((你恨数学你恨数学??那就别学电脑了那就别学电脑了). ).
在编程中有一个有趣的运算符是在编程中有一个有趣的运算符是"mod", "mod", "mod", 这个运算符叫做这个运算符叫做这个运算符叫做""取余运算符", ", 就是取得一次除法的余数就是取得一次除法的余数就是取得一次除法的余数, , , 例如例如例如
dim a
a=16 mod 5
你知道a 等于几吗等于几吗? Bingo! ? Bingo! ? Bingo! 没错没错没错, , , 就是就是1. 1. 因为因为16 / 5 =3....1, 16 / 5 =3....1, 所所以mod 计算的结果就是1.
还有一个运算符是还有一个运算符是"^"("^"("^"(就是键盘就是键盘就是键盘"6""6""6"上面的小箭头上面的小箭头上面的小箭头), ), ), 他表示他表示他表示""乘幂"("(或者是或者是或者是""方") ") 比如比如比如: :
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论