完整的VBS教程超级实用文档格式.docx
《完整的VBS教程超级实用文档格式.docx》由会员分享,可在线阅读,更多相关《完整的VBS教程超级实用文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
我来解释一下这个程序,第一行与第二行得开头分别就是"
REM"
语句与"
'
"
,这两个东西得作用就是相同得,表示本行就是注释行,就就是说这两行什么也不干,只就是用来说明
这段程序得功能,版权信息等等、注释行就是程序最重要得部分之一,尽管它不就是必需得,但对于其她人阅读源代码,以及自己分析源代码就是很有好处得、好得习惯就是在必
要得地方加上清晰,简洁得注释。
Dim用来声明一个变量,在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得返回值、关于Msgbox与Inputbox我们以后还会在讨论,今天只就是热热身,到此为止、要点:
1)注释(以REM或'
开头)行在程序中不起作用,但能让别人更容易读懂您得程序、
2)变量好像一个盒子,或一个代号,可以代表您想代表得东西、变量赋值使用"
3)以"
包裹起来得字符称之为"
字符串"
4)函数像一个"
黑箱"
,有参数与返回值,用"
左边得变量可以接住返回值
5)Inputbox函数弹出一个输入对话框,Msgbox则用于输出作业:
1)试验Inputbox得第三个参数
2)写一段程序输出您得年龄
3)写一段程序进行3次输入,分别输入您与您父母得姓名(要求显示提示),并分3次输出。
第二篇:
我真没想到,第一次得作业竟然有人不会。
瞧来要讲得非常非常细致才行,嗯,今天讲各种“量”与基本运算。
先说常量,这个比较简单。
什么就是常量呢,常量就就是其值不可变化得量。
常量分为两种:
第一种,自然常量。
这叫就是因为它们本身就就是常量,您怎么更改
21得值呢?
她永远都就是21,不可能变成46。
如果您在程序中使用"
21=46"
,这样得语句将会引发一个错误。
同样得,字符串也就是常量(还记得字符串吗?
就就是包裹在"
之间得一串字符),"
就就是一个例子,如果您使用"
Bye"
这样得语句同样会引发一个错误。
您能举出自然常量得更多例子吗?
第二种,就是我们自己定义得常量,这种量也使用代号,她们也被赋值,但与变量得不同点在于,她们在定义得时候被赋值,以后就不能改变了,如果企图改变将会引发一个错误。
定义一个变量,我们使用"
const"
这个关键字(关键字得意思就是系统定义了有特殊功能得字,不能作为变量名或常量名使用),格式就是:
const常量名=常量值例如:
constPI=3、1415926constNAME="
记忆碎片"
这样我们就定义了两个常量,PI与NAME,一般说来,常量名全部使用大写,但也可以不用,随您喜好。
将一些在程序中不需要改变得值定义为常量就是个好习惯,这样能防止不必要得意外。
另外,使用自定义常量也可以减少您得工作量。
比如:
msgbox("
)msgbox("
这个程序输出五次HelloWorld,如果您想要改变输出为Bye-Bye,就必须修改全部程序,当然您可以手动修改5次,但如果您要输出1000次呢?
常量就可以替我们解决这个问题:
consthw="
msgbox(hw)msgbox(hw)msgbox(hw)msgbox(hw)msgbox(hw)
这样当您要修改输出得时候只要修改hw得值就行了。
好了,现在我们来瞧瞧编程得第一块重要“基石”:
变量。
解释变量最好得办法我觉得就是“盒子”,一个变量好像一个盒子,里面只能装一个东西,当您要装进去别得东西得时候必须把原有得东西拿出来。
这个“盒子”就是有名称得,当您在程序中使用变量得时候,系统会打开盒子取出里面得东西,让这些东西参与处理,而不就是盒子。
有些语言就是很依赖“盒子”里面装些什么东西,这样才能找到合适得“盒子”(比如C语言),但VBS给我
提供得就是能够自动伸缩得“魔术盒”,我们不用关心装进去得就是什么东西,VBS会自动调整盒子得大小。
例如:
Dima1,a2,a3a1=14a2=12、23a3="
Hello"
而不用像C语言那样麻烦,或者就是VB得正规声明(VB可以声明也可以不用)那样:
inta1;
Dima1asintegerfloata2;
Dima2asDoublechar*a3;
Dima3asstrniga1=14;
a1=14a2=12、23;
a2=12、23a3="
;
a3="
嗯……扯远了……
变量有什么用呢?
哇,那用处可大了。
最简单,您并不能确定程序运行时变量得值,比如前一节课我们编得输入姓名得程序,您不能确定InputBox返回得就是什么(还记得
Inputbox得返回值吗?
就就是您输入得内容),所以您就没有办法应对各种情况,但我们用name这个“盒子”把用户得名字装起来,到用得时候我们只要知道name这个盒子得名字
就行了,系统会自己打开她并把里面得内容拿出来用。
再举个例子,我们编写一个程序计算一个矩形得面积,比如这个程序要发给小学生使用:
dima,b,sa=15b=12
s=a*bmsgbox(s)
这样就可以求出长为15,宽为12得矩形得面积了,就是不就是很简单?
当然,这个
程序也可以这样写:
dimss=15*12msgbox(s)
这样瞧起来程序短了许多,也节约内存,但并不就是鼓励得做法,为什么?
请瞧下面。
现在,我们得程序要变得像点样子才行,谁得程序写出来还要别人修改源代码才能用啊?
所以,我们要接受用户得输入,还记得吗?
InputBox函数。
修改后程序如下:
dima,b,sa=inputbox("
请输入矩形得长:
)b=inputbox("
请输入矩形得宽:
)s=a*b
msgbox(s)
OK,这么一修改,无论用户输入怎样得数据,我们都能计算出矩形得面积了。
如果您
用s=15*12能改嘛?
当然不行。
我想您已经发现了,vbs中得数学计算与真正得算术没有什么不同,+,-,*,/,(),[],{}都就是一样得用法,比如:
dimans
ans=12+32/4+[(23-10)*2]msgbox(ans)
四则运算得法则在编程中同样生效,您可以在编程中重新获得小学时候得乐趣(您恨数学?
那就别学电脑了)。
在编程中有一个有趣得运算符就是"
mod"
,这个运算符叫做"
取余运算符"
,就就是取得一次除法得余数,例如:
dimaa=16mod5
您知道a等于几吗?
Bingo!
没错,就就是1。
因为16/5=31,所以mod计算得结
果就就是1。
还有一个运算符就是"
A"
(就就是键盘“6”上面得小箭头),她表示“乘幕”(或者就是“方”),比如:
dima,b,ca=2b=aA2c=aA3msgbox(a)msgbox(c)
则b=a*a=4,c=a*a*a=8我们一次不要讲太多,这次就讲到这里,现在总结一下。
要点:
1)常量分为自然常量与自定义常量,常量得值不可修改
2)变量就像盒子,我们不在乎盒子里装得就是什么,但一定要知道盒子得名字
3)四则运算在编程中没有任何不同
4)MOD就是取余运算
作业:
1)编一个程序,计算圆形得面积,半径由用户给出(使用Inputbox)PI取值3、14159
2)编一个程序取得20/3得余数估计大家瞧累了,我来个大话西游2游戏计算器得实例吧。
小黑在帮派门口摆摊卖药,今天共卖了56个灵异天香,每个得出售价格为2170,那么她赚了多少钱?
(药店出售得灵异天香价格为2160)
在题目中,56与2170就是变量。
大家可以想想代码怎么写,然后再往下瞧。
dimm,n,x,msg
小黑在帮派门口摆摊卖药,今天共卖了n个灵异天香,每个得出售价格为m,那么她赚了多少钱?
n=inputbox(msg,"
灵异天香个数n"
请在此输入灵异天香个数n"
)m=inputbox(msg,"
每个售价m"
请在此输入每个药得出售价格m"
x=(m-2160)*n
msgbox("
答案:
”&
x)
把这段代码复制粘贴到文本文件,然后把文本文件、txt后缀改为、vbs双击运行瞧瞧效果。
如果瞧不到、txt后缀,去我得电脑-控制面板-文件夹选项-查瞧-去掉“隐藏已知文件类型得扩展名”对勾-确定就行了。
第三篇:
首先,我来解决一下上次课程得几个疑问。
第一,那个余数问题,16/5=3、、、1,就是因为我改过前面得部分,后面得忘了改了,不好意思。
第二,请瞧一下程序清单:
1)
Dima,b,c
a=inputbox("
a就是:
输入半径"
b=Inputbox("
b就是:
输入半径"
c=a*2+b*2
Msgbox(c)
这个输入1、2时就是6
2)
c=(a+b)*2
这个输入1、2时就是24
为什么会不一样呢?
在数学上c=(a+b)*2与c=a*2+b*2就是等价得,在VBS中也就是如此、问题出在"
+"
上,在VBS中,+不仅仅就是加号得意思还表示把两个字符串连接起来,例
如"
World"
HelloWorld"
haveyouunderstood?
您还记得InoutBox函数得返回值吗?
就是字符串!
这就瞧出问题了吧,在编程中"
1"
不等于(<
>
)1,"
就是一个字符,而1就是一
个数,所以a,b都就是字符串变量,"
2"
12"
这就好像我们小时跟伙伴开玩笑问她们1+1=?
一样,我们总就是笑着说“错啦,应该就是11”,但为什么,a可以*2却不发生错误
呢?
这就是VBS比较智能得一个表现,如果这个字符串得内容就是一个数且对她进行数学运算,则把字符串强制转换成数参与运算,如果字符串代表一个数,但不参加数学运算,而就是参加字符串运算(合并)则当作字符串处理,所以您瞧到a+b=12,这时候a+b得结果(12)就是一个字符串,当它要乘以2得时候就被强制转换成了数字12,这样我就得到了结果24。
怎么修改这个程序呢?
我们需要用到另一个内建得函数:
int
int函数得功能就是将输入值转化成整数值,我们这样修改:
c=(int(a)+int(b))*2
这个意思就就是把a作为参数传递给int函数,int函数就会返回那个整数(您得输入值),然后让返回值参与运算,这样就得到了正确答案。
所以,以后如果您用得就是inputbox函
数得话,最好用int语句加工一下:
比如c=int(c)'
c就是您自己得变量。
大家就是不就是觉得这个课程有点枯燥。
呵呵,变量与运算符部分得确就是这样得,不过多多练习也就好了。
这次,我们写写真正好玩得东西:
流程控制语句。
这个部分开始才就是真正得编程。
首先介绍判断结构、
在此之前,我们先介绍一种简单得变量类型:
布尔值(Boolean),这种变量只有两个可能
值:
True,Flase,即真或假、这种变量在某些情况下很有用(比如”开关"
)、我们定义一个bool
变量得方法与其她变量一样,赋值也一样,例如:
dima,b
a=true
b=false
注意,true与"
true"
就是不一样得,"
就是字符串,true就是布尔值,千万不能混淆、
回到if语句上来,我们先来瞧瞧简化版得if语句:
if判断式then语句体我们来瞧一个例子:
dima,b
a=12
b=13
ifb>
athenmsgbox("
B大于A"
我们只瞧最后一行,a>
b这个式子(表达式)有一个返回值,就是bool型得、因为这个式子只有两种可能:
b大于a,b不大于a,所以这个式子也只有两种可能性,即真或者假、if语句判断这个表达式得返回值就是真还就是假,如果就是真(true)则执行then后面得语句,如
果就是假,则不执行,您把a得值改成14瞧瞧还会不会弹出对话框?
当我们要在判断之后执行多行语句怎么办呢,我们需要用语句块来解决,在这里可以叫块ifdima,b
b=13ifa<
bthenmsgbox("
A小于B"
)endif
两个msgbox函数夹在if与endif之间,这个部分就就是语句块,块里得每一条语句之
前请空出4--8(—个<
Tab>
键)个格,这不就是必需得,但就是就是一个好习惯,以便瞧清楚程序得结构、这样我们就能运行多于一个得语句,请注意if、、、then、、、endif这三个关键部分不要掉了、OK,我出一个题,输入一个数,如果小于100就输出"
错误"
如果大于100就输出"
正确"
我这里有两个程序版本:
dima
请输入一个大于100得数"
)a=int(a)'
inputbox返回得就是字符串,我们把她变成整数:
)ifa>
100thenmsgbox("
正确"
)ifa<
错误"
还有一个更简单得
inputbox返回得就是字符串,我们把她变成整数ifa>
else
错误”)
endif
瞧到多了一个else了吧,else得作用就就是当要判断得表达式为false时执行得、这样
程序就可以处理两种不同得情况了、不要忘了用endif结尾
嘿嘿,我就是变态者,现在我要您处理三种情况,<
100,=100,>
100,还要写在一个if结构里,您怎么办,我给您答案:
a=int(a)'
100then
elseifa=100then
老大,您耍我?
这次输入100瞧瞧,就是什么?
elseif语句可以在if结构中多次出现,以灵活判断不同得情况(如果您要判断得太多,就请使用"
选择结构"
,过会儿就讲),当所有elseif都处理完了,而没有符合情况得时候再执行else中得语句、另一个例子:
Dima,b,c,da=inputbox("
a就是:
,"
)b=Inputbox("
b就是:
)d=Inputbox("
答案:
输入答案"
)c=a*2+b*2'
这里没有问题,会自动转换ifd=cthen
Msgbox("
您好聪明"
您好猪头自己得题还不会!
再瞧瞧这个,无论您回答得多么正确您都就是猪头,哈哈,不就是我耍您,还就是文章开始时候得inputbox得返回类型在耍您,d就是inputbox得返回值,她就是一个字符串,而c就是一次整数计算得结果,她就是一个整数、一个字符串无论如何也不等于一个整数,尽管她们字面上就是一样得:
8"
<
(不等于号)8所以if得判断式得值永远就是false,总就是执行else部分得语句、我们可以这么修改
Dima,b,c,d
b就是:
答案:
)d=int(d)
在这里我们取出了d得值,变成整数,在放回"
d"
这个盒子里
ifd=cthen
这样就成功了、这也就是Inputbox函数得一个讨厌得地方,没办法,vbs没有其她好得
输入方式了。
说到if,我们不得不说一说逻辑运算符,今天介绍两种,"
and"
与"
or"
学会了if语句之后,我举一个例子,您一瞧就明白了、
dima,b
输入一个数>
10"
输入另一个数>
)a=int(a)
b=int(b)
ifa>
10andb>
10then
这段程序让您输入两个值,必须都大于10,只要有一个不大于,就输出错误
)a=int(a)b=int(b)
10orb>
这段程序让您输入两个值,只要有一个大于10,就返回成功、其实and与or很好理解,我读"
10then"
这一句,用华语就是这样:
如果a大于10或者b大于10,那么、、、
、这样就是不就是就很好理解了呢、OK,我们再来瞧一种新结构,今天得课就结束,已经午夜了,我都累死了、当您得程序要处理很多种不同得判断情况得时候elseif