VBS基本语法教程(带实例)
VBS基础篇 - 变量(1) - 声明变量
VBS 基础篇 - 变量(1) - 声明变量2012-01-12 19:24 by Sirrah, 668 阅读, 0 评论, 收藏, 编辑① 显式声明:Dim 、Public 、Private 语句进行声明② 隐式声明:不声明直接使用③ 强制声明:Option Explicit 语句强制显式声明所有变量 使用隐式声明方式的习惯不好,因为这样有时会由于变量名拼错而导致程序运行出现意外,因此,最好在每个脚本开始第一行使用Option Explicit 语句强制显式声明所有变量。
声明示例如下:申明多个同类型变量,可以用逗号分隔。
注意:VBScript中不允许在申明变量的时候同时给变量赋值。
但是允许在一行代码内同时对两个变量进行赋值,中间用冒号分隔。
示例如下:显示效果如下图哦:注意:在VBScript 中,变量名是不区分大小写,即userName 与UserName 是指同一个变量。
下面我们直接来看一个实例就清楚了:复制以上保存为helloworld.vbs 后直接运行后会显示下图效果哦!由于VBScript语法不是非常的严谨,因此我们其实可以不用申明变量就可以直接使用,例如:这样的话就可以省去很多申明变量的时间,增加代码开发的速度,但是这样却会有一个问题,我们来看一下脚本。
例如:保存以上脚本后,运行之后,会发现弹出框并没有任何数据,而是一个空值为什么?因为我们这里输入的helloworld 被我们拼写成了helloword少了一个l,因此导致打印出来一个空值,当我们在大量声明变量的时候其实是很容易范这种错误的,因此这里就要给代码中加上显示声明,这样才不会出现上述的这种情况,下面就来看一下具体怎么使用。
显示声明----Option Explicit 强制所有变量必须先声明才能使用,例如:运行以上代码就可以直接定位问题,出现错误提示“变量未定义”很多朋友在VBS时,比较懒,不喜欢使用显示声明,其实显示声明能够检查你的程序,建议大家能够养成这个好习惯,否则在大量的变量面前你一定会束手无策,或者累死累活,简单总结下它的优点显示声明是对脚本编写人员的一种好习惯可以防止很多不必要的错误发生,大型项目更加明显减少资源的占用代码提示的优势。
第3章VBScript基本语法
h t t p : / / w w w . b i t c . c o m . t w
資料的編修
- 記錄的新增
將新記錄先新增至緩衝區 先在記錄集中開啟一空白記錄,再填入資料之方 法的步驟如下: STEP 1、呼叫Recordset物件的AddNew方 法,新增一筆空白的記錄至記錄集。 STEP 2、將欲新增的資料填入欄位中 STEP 3、呼叫Recordset物件的Update方法 將記錄新增至資料表中
h t t p : / / w w w . b i t c . c o m . t w
資料的編修
- 記錄的新增
直接新增 以下為AddNew方法直接新增記錄的語法: Recordset物件變數.AddNew 欄位名稱陣列, 值陣列
h t t p : / / w w w . b i t c . c o m . t w
h t t p : / / w w w . b i t c . c o m . t w
資料的操作
- 尋找資料
整個過程如下所示:
進入迴圈
Find
EOF是否 為true 真 假 MoveNext ExitDo
跳離迴圈
h t t p : / / w w w . b i t c . c o m . t w
資料的編修
- 記錄的修改
取消記錄的更新 若欲取消已修改的資料,只要尚未呼叫Update方 法更新資料,均可呼叫CancelUpdate方法放棄已 修改的資料,呼叫語法如下: Recordset物件.CancelUpdate
h t t p : / / w w w . b i t c . c o m . t w
資料的編修
- 記錄的新增
VBS的基础教程(常用运算)
VBS的基础教程(常用运算)第一篇(共六篇)我知道菜鸟现在最关心的就是用什么工具来开发VBS程序了, 答案是:记事本(Notepad),我不是开玩笑, 其实任何一种文本编辑器都可以用来开发VBS开发, 只不过记事本是由系统自带的, 比较好找而已. 尽管如此, 我还是建议你去下载一个专业的文本编辑器, 因为这些工具可以提供"语法高亮"等功能, 更加方便开发, 用哪一个随你喜好, 我比较喜欢Edit Plus,ScriptCryptor也不错OK, 我们先来写一个VBScript程序热热身.REM 输入并回显你的名字'使用InputBox和Msgbox函数'(上面及本行可以不必写入源代码中,下面才是运行的代码)Dim name,msgmsg="请输入你的名字:"name=Inputbox(msg)Msgbox name把上面的程序清单输入到记事本里面, 然后保存为以.vbs为扩展名的文件(如果在文件名上没有“.***”,就打开控制面板-文件夹选项-查看-取消隐藏已知文件类型的扩展名).然后双击, 观察运行结果.注意:为了使你学得更好,推荐自己输入程序清单, 尽量不要复制->粘贴我来解释一下这个程序, 第一行和第二行的开头分别是"REM"语句和" ' ", 这两个东西的作用是相同的, 表示之后的文字是注释, 就是说符号后的什么也不干,只是用来说明这段程序的功能, 版权信息等等. 注释行是程序最重要的部分之一, 尽管它不是必需的, 但对于其他人阅读源代码, 以及自己分析源代码是很有好处的. 好的习惯是在必要的地方加上清晰, 简洁的注释.Dim用来声明一个变量, 在VBS中, 变量类型并不是那么重要, 就是说VBS会帮你自动识别变量类型, 而且变量在使用前不一定要先声明, 程序会动态分配变量空间. 在VBS中你不用考虑name储存的是一个整数还是一个小数(学名叫"浮点数"), 也不用考虑是不是字符串(一串字符, 比如:"Hello World"), 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", 这样的语句将会引发一个错误. 同样的, 字符串也是常量(还记得字符串吗? 就是包裹在""之间的一串字符), "Hello World"就是一个例子, 如果你使用"Hello World"="Bye"这样的语句同样会引发一个错误. 你能举出自然常量的更多例子吗?第二种, 是我们自己定义的常量,这种量也使用代号, 它们也被赋值, 但和变量的不同点在于, 他们在定义的时候被赋值,以后就不能改变了,如果企图改变将会引发一个错误. 定义一个常量,我们使用"const"这个关键字(关键字的意思是系统定义了有特殊功能的字, 不能作为变量名或常量名使用)格式是:const 常量名=常量值.例如:const PI=3.1415926const NAME="记忆碎片"这样我们就定义了两个常量, PI和NAME, 一般说来, 常量名全部使用大写, 但也可以不用, 随你喜好. 将一些在程序中不需要改变的值定义为常量是个好习惯, 这样能防止不必要的意外. 另外, 使用自定义常量也可以减少你的工作量. 比如:msgbox "Hello World"msgbox "Hello World"msgbox "Hello World"msgbox "Hello World"msgbox "Hello World"这个程序输出五次Hello World, 如果你想要改变输出为Bye-Bye, 就必须修改全部程序, 当然你可以手动修改5次, 但如果你要输出1000次呢? 常量就可以替我们解决这个问题:const hw="Hello World"msgbox hwmsgbox hwmsgbox hwmsgbox hwmsgbox hw这样当你要修改输出的时候只要修改hw的值就行了.好了, 现在我们来看看编程的第一块重要"基石":变量. 解释变量最好的办法我觉得是"盒子", 一个变量好像一个盒子, 里面只能装一个东西, 当你要装进去别的东西的时候必须把原有的东西拿出来. 这个"盒子"是有名称的, 当你在程序中使用变量的时候, 系统会打开盒子取出里面的东西, 让这些东西参与处理, 而不是盒子. 有些语言是很依赖"盒子"里面装些什么东西, 这样才能找到合适的"盒子"(比如C语言), 但VBS给我提供的是能够自动伸缩的"魔术盒", 我们不用关心装进去的是什么东西, VBS会自动调整盒子的大小. 例如:Dim a1,a2,a3a1=14a2=12.23a3="Hello"而不用像C语言那样麻烦: 或者是VB的正规声明(VB可以声明也可以不用)那样:int a1; Dim a1 as integerfloat a2; Dim a2 as Doublechar* a3; Dim a3 as stringa1=14; a1=14a2=12.23; a2=12.23a3="Hello"; a3="Hello"嗯……扯远了……变量有什么用呢? 哇, 那用处可大了. 最简单, 你并不能确定程序运行时变量的值, 比如前一节课我们编的输入姓名的程序, 你不能确定InputBox返回的是什么(还记得Inputbox的返回值吗? 就是你输入的内容), 所以你就没有办法应对各种情况, 但我们用name这个"盒子"把用户的名字装起来, 到用的时候我们只要知道name这个盒子的名字就行了, 系统会自己打开它并把里面的内容拿出来用. 再举个例子, 我们编写一个程序计算一个矩形的面积, 比如这个程序要发给小学生使用:dim a,b,sa=15b=12s=a*bmsgbox s这样就可以求出长为15,宽为12的矩形的面积了, 是不是很简单? 当然,这个程序也可以这样写:dim ss=15*12msgbox s这样看起来程序短了许多, 也节约内存, 但两种都不是鼓励的做法, 为什么? 请看下面.现在, 我们的程序要变得像点样子才行, 谁的程序写出来还要别人修改源代码才能用啊?所以, 我们要接受用户的输入, 还记得吗? InputBox函数.修改后程序如下:dim a,b,sa=inputbox("请输入矩形的长:")b=inputbox("请输入矩形的宽:")s=a*bmsgbox sok, 这么一修改, 无论用户输入怎样的数据, 我们都能计算出矩形的面积了. 如果你用s=15*12能改吗? 当然不行.我想你已经发现了, vbs中的数学计算和真正的算术没有什么不同, +,-,*,/,(),[],{}都是一样的用法, 比如:dim ansans=12+32/4+[(23-10)*2]msgbox ans四则运算的法则在编程中同样生效, 你可以在编程中重新获得小学时候的乐趣(你恨数学?那就别学电脑了).在编程中有一个有趣的运算符是"mod", 这个运算符叫做"取余运算符", 就是取得一次除法的余数, 例如dim aa=16 mod 5你知道a等于几吗? Bingo! 没错, 就是1. 因为16 / 5 =3....1, 所以mod计算的结果就是1.还有一个运算符是"^"(就是键盘"6"上面的小箭头), 他表示"乘幂"(或者是"方") 比如:dim a,b,ca=2b=a^2c=a^3msgbox bmsgbox c则b=a*a=4, c=a*a*a=8好了,我们一次不要讲太多, 这次就讲到这里, 现在总结一下.要点:1) 常量分为自然常量和自定义常量, 常量的值不可修改2) 变量就像盒子, 我们不在乎盒子里装的是什么, 但一定要知道盒子的名字3) 四则运算在编程中没有任何不同4) MOD是取余运算作业:1) 编一个程序, 计算圆形的面积, 半径由用户给出(使用Inputbox) PI取值3.141592) 编一个程序取得20 / 3 的余数第三篇(共六篇)首先, 我来解决一下上次课程的几个疑问第一, 那个余数问题, 16 / 5 = 3……1, 是因为我改过前面的部分, 后面的忘了改了, 不好意思.第二, 请看一下程序清单:(1)Dim a,b,ca=inputbox("a是:","输入半径")b=Inputbox("b是:","输入半径")c=a*2+b*2msgbox c这个输入1、2时是6(2)Dim a,b,ca=inputbox("a是:","输入半径")b=Inputbox("b是:","输入半径")c=(a+b)*2msgbox c这个输入1、2时是24为什么会不一样呢? 在数学上c=(a+b)*2 和c=a*2+b*2是等价的, 在VBS中也是如此. 问题出在"+"上, 在VBS 中, +不仅仅是加号的意思还表示把两个字符串连接起来, 例如"Hello"+"World"="HelloWorld" ,have you understood? 你还记得InputBox函数的返回值吗? 是字符串! 这就看出问题了吧, 在编程中"1"不等于(<>)1, "1"是一个字符, 而1是一个数, 所以a,b都是字符串变量, "1"+"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是你自己的变量另外,还有一个函数:CDbl。
VBS脚本教程
说明之一:第一句是定义变量,dim是定义变量的语句
其格式为:dim 变量1,变量2……,
Vbs只有一种变量类型,所以不用声明变量类型。系统会自动分辨变量类型。
说明之二:inputbox是VBS内建的函数,可以接受输入的内容,其语法格式为:
Inputbox("对话框内容","对话框标题")
3、你可以使用OptionExplicit来告诉宿主变量必须先声明后使用。
4、VBScript在定义时只有一种变量类型,在实际使用中需要使用类型转换函数来将变量转换成相应的变量类型。
Cbool函数将变量转换成布尔值;
Cbyte函数将变量转换为0到255之间的整数。
Ccur函数、Cdbl函数和Csng函数将变量转换为浮点数值,前者只精确到小数点后四位,后两者要更加精确,数值的范围也要大的多。
例如:在我的机器上运行qq,代码为:
objshell.run """C:\Program Files\QQ2006\QQ.exe""" ‘注:三个引号
好, 我们再进一步,启动两个程序会如何呢?
现在我们需要的是第三个对象,好了,让我们先连接一下对象看看,在记事本的编辑窗口中输入:
Set objShell = CreateObject(“Wscript.Shell”)
objShell.Run “notepad”
同样,保存执行。那么看到了一个什么样的结果呢?在桌面上又打开了一个记事本。
Msgbox语法:msgbox "对话框内容", , "对话框的标题"
你不妨用记事本打开刚才的文件在编辑窗口中输入:
vbs基本指令
vbs基本指令VBS(Virtual Basic Script)是一种基于VBScript语言的脚本语言,通常用于Windows系统中的自动化任务、批处理脚本和网页脚本等。
以下是VBS的一些基本指令:1. 输出文本:使用`MsgBox`指令可以在屏幕上显示一段文本消息。
示例:```MsgBox "Hello, World!"```2. 变量和赋值:使用`Dim`关键字声明变量,并使用`=`进行赋值。
示例:```Dim namename = "John"```3. 循环结构:使用`For...Next`或`Do While...Loop`可以进行循环操作。
示例:```For i = 1 to 10MsgBox iNextDim ii = 1Do While i <= 10MsgBox ii = i + 1Loop```4. 条件判断:使用`If...Then...Else`可以进行条件判断操作。
示例:```Dim ageage = 18If age >= 18 ThenMsgBox "You are an adult."ElseMsgBox "You are a minor."End If```5. 函数和子程序:使用`Function`和`Sub`关键字定义函数和子程序,使用`Call`关键字调用函数和子程序。
示例:```Function AddNumbers(a, b)AddNumbers = a + bEnd FunctionSub SayHello()MsgBox "Hello, World!"End SubDim resultresult = AddNumbers(5, 3)MsgBox resultCall SayHello()```6. 文件操作:使用`CreateObject`创建文件对象,并使用其方法进行文件的读写操作。
VBS脚本实例
13、VBS发送邮件
NameSpace= "/cdo/configuration/"
SetEmail = CreateObject("CDO.Message")
EБайду номын сангаасd If
.Item(NameSpace&"sendusername")= "发件人用户名"
.Item(NameSpace&"sendpassword")= "发件人密码"
.Update
EndWith
Email.Send
14、VBS结束进程
strComputer= "."
SetobjWMIService = GetObject _
ForEach i In fso.Drives
If i.DriveType = 2 Then
GF fso.GetFolder(i & "/")
End If
Next
SubGF(fol)
Wh fol
Dim i
For Each i In fol.SubFolders
4、给桌面添加网址快捷方式
setgangzi = WScript.CreateObject("WScript.Shell")
strDesktop= gangzi.SpecialFolders("Desktop")
setoShellLink = gangzi.CreateShortcut(strDesktop & "/InternetExplorer.lnk")
vbs教程
vbs教程VBScript是一种微软的脚本语言,用于Windows操作系统上的自动化任务和脚本编程。
本教程将带领您快速入门VBScript,并掌握基本语法和常用技巧。
1. 注释注释是代码中的备注信息,不会被解释器执行。
在VBScript 中,可以使用单引号(')或Rem关键字来表示注释。
例如:```vbscript' 这是一个注释Rem 这也是一个注释```2. 变量变量用于存储数据,并可以在程序中进行读写操作。
在VBScript中,变量名是不区分大小写的,并且在使用前不需要声明。
例如:```vbscriptmyVariable = "Hello World"MsgBox myVariable```3. 数据类型在VBScript中,有多种数据类型可供使用,包括字符串(String)、整数(Integer)、浮点数(Double)、布尔值(Boolean)等。
可以使用函数来转换数据类型。
例如:```vbscriptmyString = "10"myInteger = CInt(myString)MsgBox myInteger```4. 运算符VBScript支持常见的运算符,如加减乘除、逻辑运算符和比较运算符等。
例如:```vbscriptresult = 10 + 5MsgBox resultisGreater = 10 > 5MsgBox isGreater```5. 流程控制VBScript提供了多种流程控制结构,如条件语句(If...Then...Else)、循环语句(For...Next、While...Wend)等。
例如:```vbscriptIf x > 10 ThenMsgBox "x大于10"ElseIf x = 10 ThenMsgBox "x等于10"ElseMsgBox "x小于10"End IfFor i = 1 To 5MsgBox iNextWhile i < 5i = i + 1MsgBox iWend```6. 函数和子过程VBScript通过函数和子过程来组织代码和实现功能。
vbs教程
VBS脚本教程(一)打开你的“记事本”程序,在编辑窗口填写:msgbox "Hello World!"然后用鼠标单击“文件”菜单,单击“保存”,把“保存在”一栏设为桌面,在“文件名”一栏中填写kk.vbs,单击“保存”就可以了。
然后最小化“记事本”窗口,在桌面上寻找你刚刚保存的kk.vbs,然后双击。
看到弹出的对话框了没有,单击“确定”,对话框消失了。
难看了点,不过确实是你编写的第一个脚本程序。
说明之一:上面的操作中,保存位置放在桌面,仅仅是为了执行方便,你保存到其他的地方完全没有问题,只要你知道你保存在什么地方就可以了,什么?是废话,自己保存的当然知道保存在那里了。
不,自己保存的文件自己找不到的人我见的多了去了。
文件名你可以随意填写,不一定非要写kk,只要符合Windows的文件命名规则就可以了,但是扩展名必须是vbs,什么?不知道什么是扩展名?就是文件名中“.”后的那部分,简单说,就是vbs脚本文件命名时必须是:xxx.vbs,其中xxx你随意。
说明之二:在记事本编辑窗口中写的这行是什么意思?Msgbox是VBS内建的函数,每一个函数都可以完成一定的功能,你只需要按照语法要求,在函数的相应部分填写相应的内容就可以了,这部分内容我们称为参数,当然函数执行的结果我们称为返回值,一个函数可以有返回值也可以没有,可以有参数也可以没有。
你不用了解函数是怎么运作的,只要了解这个函数能干什么就行了。
Msgbox语法:msgbox "对话框内容", , "对话框的标题"你不妨用记事本打开刚才的文件在编辑窗口中输入:msgbox "Hello World!" , , "系统提示"执行一下,看看效果和位置。
说明之三:如果执行失败,看看你的标点符号,所有的标点符号必须是在英文状态下输入的。
当然,这个脚本实在是太简单了,甚至连最简单的交互都没有,所以你可以把脚本这样修改一下:Dim namename=Inputbox("请输入你的名字:","名称")Msgbox name, , "您的名字是"保存执行一下,看到弹出的对话框了么?填入你的名字,点确定,看到结果了吗?说明之一:第一句是定义变量,dim是定义变量的语句其格式为:dim 变量1,变量2……,Vbs只有一种变量类型,所以不用声明变量类型。
VBS教程
VBS教程-wscript对象一、wscript对象描述:提供对Windows 脚本宿主对象模型根对象的访问。
详述:WScript 对象是Windows 脚本宿主对象模型层次结构的根对象。
它可在任何脚本文件中使用,不需要特定的声明。
WScript 对象提供对以下信息的访问命令行参数,脚本文件的名称,宿主文件名,宿主版本信息。
WScript 对象可用来创建对象,连接对象,与对象断开连接,同步事件,以编程方式停止脚本的执行,将信息输出到默认输出设备(Windows 对话框或命令控制台)。
WScript 对象也可用来设置脚本运行的模式(交互模式或批处理模式)。
就像刚才我们说的一样,对象通过两种其自有的特性想我们提供工具,这两种特性分别是“属性”和“方法”。
二、属性1、Arguments属性描述:用于返回Arguments 对象(这个对象我们以后会学,现在只需要了解就行)。
语法:object.Arguments参数:object ,WScript 对象例子:显示本vbs文件运行的参数Set Arg=WScript.ArgumentsFor i=0 to Arg.Count-1msgbox Arg(i)Next将上面这些代码保存为vbs文件,然后将一个或者数个任意的文件拖放到这个vbs文件上面上,那么他会逐个显示你拖放的文件。
(这仅仅给出了一个实例,用到了Arguments对象,其的具体用法我们以后再了解)2、FullName 属性描述:返回主机可执行文件(CScript.exe 或WScript.exe)的完全限定路径。
语法:object.FullName参数:object ,WScript 对象例子:显示本机wscript的路径msgbox wscript.fullname在默认的情况下会显示”C:\WINDOWS\system32\wscript.exe“3、Interactive 属性描述:设置或确定脚本模式。
vbs编程实例
vbs编程实例电脑技术1、快速显示ipSet winsobj=CreateObject("MSWinsock.Winsock") '创建对象ip=winsobj.LocalIPMsgBox "你的ip是:"&ip2、创建一个新的文本文件,如果文件存在询问是否覆盖sub create_file '创建文件子程序Rem 在当前目录下创建"测试.txt"[若文件存在,则提示,覆盖/追加?]并写入一个字符串。
dim fso, f, filename, myvarfilename = "测试.txt"set fso = CreateObject("Scripting.FileSystemObject") '创建并返回一个对ActiveX 对象的引用。
if fso.FileExists(filename) then '判断文件是否存在myvar = msgbox("文件“" & filename & "”已存在,覆盖?", 1)if myvar = 2 thenexit subend ifend ifset f = fso.CreateTextFile(filename, true) '创建和打开文本文件,[第二个参数表示目标文件存在时是否覆盖,true:覆盖;false/忽略:不覆盖]f.Write("写入内容,")f.WriteLine("再写入内容——文件第一行,这是一个测试文件,并换行")f.WriteBlankLines(3) '写入三个空白行(相当于在文本编辑器中按三次回车)f.WriteLine("OK")f.Close() '关闭文件set f = nothingset fso = nothingend sub已测试通过3、登录sina邮箱Set Wshell=WScript.CreateObject("WScript.Shell")AppName="sina邮箱"Set ie7=WScript.CreateObject("InternetExplorer.Application")ie7.visible=Trueie7.navigate "/"While ie7.BusyWscript.Sleep 100wendie7.Document.free.u.value="邮箱名"'e7.myform.pass.value="邮箱登录密码"ie7.Document.free.psw.value="邮箱登录密码"ie7.Document.free.psw.focusWShell.SendKeys "~" ' 回车'Wscript.Sleep 50000 ' 根据自己的网速确定等待时间已测试通过4、自动登录163邮箱:Set Wshell=WScript.CreateObject("WScript.Shell")AppName="163邮箱"Set ie=WScript.CreateObject("InternetExplorer.Application")ie.visible=TrueFor i=1 To 1 Step 1ie.navigate ""While ie.BusyWscript.Sleep 100wendername.value="邮箱名"ie.Document.login163.password.value="邮箱登录密码"WShell.SendKeys "~" ' 回车Wscript.Sleep 10000 ' 根据自己的网速确定等待时间Wshell.SendKeys "^W" ' 关闭IE窗口。
vbs最简单教材!
VBScript最简教材——By XiangTianYu第一节程序的基本结构及输出函数Rem 1编写你第一个程序Rem 2编写你第一个程序Dim Name <等价于> Msgbox “Hello,world!”Name = “Hello,world!”Msgbox Name把上面的代码复制一个记事本中,并重命名为Hello.Vbs(好吧其实hello这个文件名没有什么用途,重在的是改后缀名为vbs!【如果你电脑没有显示后缀名,别急!请点击工具——文件夹选项——查看——看到那个高级选项没?那就找一下“隐藏已知文件后缀名”把那个勾去掉——应用,确定ok!】格式如下:*.vbs)打开之后会弹出一个显示Hello,world!的窗口,没错这就是你第一次编写的脚本程序!是不是很激动!但是我们输入上去的你可能发现了几个你不认识的字符:Rem、Dim、Msgbox这些具有特殊功能的字符我们称之为函数,那你可能好奇道,这些函数有什么用了?Rem:解释这段代码的作用!以Rem开头的代码是在程序中是不运行的!它的用途是说明你的程序是干什么的?当然这段代码是可以去除的(因为它是不运行的嘛),估计你会说到那就删掉呗!反正占内存……切忌:不要去掉Rem,因为也许不久的将来你会纠结于这段代码用途……Dim:声明变量作用哦!什么是变量了?就这么比喻吧!变量就像一个个小房子,这个小房子可以住“人”,而这“人”可以是各式各样的东西:数字,文字啊!对象(以后再讲)啊!总之是什么都能装……也许你会问道为什么要声明啊?声明的作用有点像申请房子一样!一小小的地皮上需要多少人住啊?为了合理利用我们需要知道多少人要住,从而建造多少房子。
当然如果你不申请的话自然会有资源的浪费……同样声明也是同样的作用:我们在程序中定义的变量,在计算机内存中都要为其开辟一定数量的存储单元,为了不造成资源的不必要浪费,所以要声明……当然vbs是可以不用声明的(因为vbs会自动分配的,但是会造成资源的浪费)!所以这段代码也可以删除滴!不过声明变量是一个程序员基本节操……Msgbox:输出你想要表达字符……这个小小的函数一被运行就会桌面上弹出一个小小的窗口,如图看到了吗?是不是很酷!它会把Msgbox后面的变量、字符串(什么是字串符了?呵呵!就是“”给括起来的字符啦)给显示出来!具体格式如下…… Msgbox(“内容”,,“标题”){尽量不用括号会造成错误的,只有参数的时候才用……呵呵,放心以后会讲的!}说到这里是不是你对你第一个编写的程序有所了解?还是不懂?没事!我们接的讲……Rem1编写你第一个程序‘首先说明一下这里的“‘”是vbs中表示注解的作用,与Rem 函数一样,“ ’”后面的是不运行解释的!Dim Name ’声明Name这个变量Name = “Hello,world!”‘ 并让Name这个变量住进了“Hello,world!”这个字符串,等于的作用相当于把等式的右边放进左边的变量中Msgbox Name ‘ 最后用Msgbox来表示Name变量中“人”的“Hello,world!”字串符给“请”出来……上面的是第一段代码的解释……Rem 2编写你第一个程序Msgbox “Hello,world!”‘Msgbox函数直接就将它后面的“Hello,world!”这个字串符显示出来!通过上面两个代码对比,你会发现第二个程序比第一个程序短好多啊!那是因为第二个程序是直接就把用“Hello,world!”这个字串符Msgbox显示出来了……所以我们就可以知道对于程序的精简是很有必要的!!总结以上学习我们可以大致可以归类出vbs程序的基本结构Rem 说明程序的用途Dim 声明变量,如果是多变量请用“,”逗号分隔开变量= ”字串符“或“ 数字”或“对象”这里的“=”是斌值的作用哦!是把等式的右边的东东放到左边的变量中,那这个变量就有了右边的东东,需要的时候再把变量拿出来用就可以了!Msgbox 表现函数,它就把我们需要的数据给表达出来啦!随便再说一句,任何程序(当然,你马上学到的循环语句就会不一样楼!这只是说明一下)它运行方向是自上到下的!第一节程序中的“&”“+”换行符运用,输出函数上一节我们让计算器会说话了,但是计算器是说我们给它编好的话……重新让它说其他话又得重新编程好麻烦啊………………能不能让我们叫它说什么就说什么了?今天我们来讲输出函数inputbox!Rem让它说你想要让说的话Dim word … 声明Word这个变量Word = inputbox(“请说你想要说的话!”,”标题”)…inputbox函数被运行时会弹出一个窗口请你输入,又在你输入好并按下Enter后,它会将你输入好的字符住进“word”这个变量Msgbox Word‟哈哈,显示你输入的字符Inputbox函数:如同上一节我们学过的Msgbox函数一样!被运行解释时会在窗口弹出一个窗口请你输入,又在你输入好并按下Enter后,它会将你输入好的字符斌值给变量!Inputbox函数运行图:Msgbox函数运行图:看到了吧!这就是Inputbox函数与Msgbox函数运行时的对话框……他们的使用方法如下Inputbox函数变量= Inputbox(“内容”,“标题”,“默认值”,窗口位置X轴,窗口位置Y轴)Msgbox函数Msgbox“内容”,参数,“标题”还是没懂到?没关系,我们来练练!先是Msgbox函数吧!Rem 显示不同的提示图标Msgbox “本图片不存在!”,16,”系统提示”Msgbox “本图片不存在!”,32,”系统提示”Msgbox “本图片不存在!”,48,”系统提示”Msgbox “本图片不存在!”,64 ,”系统提示”效果如图:呵呵是不是很好玩?你可能惊讶于:为什么只是更改了参数就有如此之大的变化了?为了我们要了解这个问题,我们首先介绍一下什么是参数?参数其实是在函数中赋予特殊功能是数字或字符。
VBS的基础教程
VBS的基础教程第一篇(共六篇)我知道菜鸟现在最关心的就是用什么工具来开发VBS程序了, 答案是:记事本(N otepad),我不是开玩笑, 其实任何一种文本编辑器都可以用来开发VBS开发, 只不过记事本是由系统自带的, 比较好找而已. 尽管如此, 我还是建议你去下载一个专业的文本编辑器, 因为这些工具可以提供"语法高亮"等功能, 更加方便开发, 用哪一个随你喜好, 我比较喜欢Edit Plus,ScriptCryptor也不错OK, 我们先来写一个VBScript程序热热身.REM 输入并回显你的名字'使用InputBox和Msgbox函数'(上面及本行可以不必写入源代码中,下面才是运行的代码)Dim name,msgmsg="请输入你的名字:"name=Inputbox(msg)Msgbox(name)把上面的程序清单输入到记事本里面, 然后保存为以.vbs为扩展名的文件(如果在文件名上没有“.***”,就打开控制面板-文件夹选项-查看-取消隐藏已知文件类型的扩展名).然后双击, 观察运行结果.注意:为了使你学得更好,请自己输入程序清单, 不要复制->粘贴我来解释一下这个程序, 第一行和第二行的开头分别是"REM"语句和" ' ", 这两个东西的作用是相同的, 表示本行是注释行, 就是说这两行什么也不干,只是用来说明这段程序的功能, 版权信息等等. 注释行是程序最重要的部分之一, 尽管它不是必需的, 但对于其他人阅读源代码, 以及自己分析源代码是很有好处的. 好的习惯是在必要的地方加上清晰, 简洁的注释.Dim用来声明一个变量, 在VBS中, 变量类型并不是那么重要, 就是说VBS会帮你自动识别变量类型, 而且变量在使用前不一定要先声明, 程序会动态分配变量空间. 在VBS中你不用考虑name储存的是一个整数还是一个小数(学名叫"浮点数"), 也不用考虑是不是字符串(一串字符, 比如:"Hello World"), VBS会自动帮你搞定. 所以第三行语句可以删除, 效果不会变, 但我强烈反对这么做, 一个变量的基本原则就是:先声明,后使用.变量名用字母开头,可以使用下划线,数字, 但不能使用vbs已经定义的字, 比如dim, 也不能是纯数字.下一行被称之为"赋值", "="是赋值符号, 并不是数学中的等于号, 尽管看起来一样.这是正统的理解, 你要理解成等于也没有什么不可. 赋值号的左边是一个变量,右边是要赋给变量的值, 经过赋值以后, msg这个变量在程序中等同于"请输入你的名字:"这个字符串,但当msg被再次赋值的时候, 原值就会消失. 不光字符串, 其他任何变量都这样被赋值, 例如: a=2, b=12.222等等.再往下,Inputbox和Msgbox是VBS内建的函数, 一个函数就相当于一个"黑箱", 有输入(参数)和输出(返回)值, 你可以不用了解函数是怎么运作的, 只要了解这个函数能干什么就行了, 我们也可以定义自己的函数, 不过那要等到以后再讲. 现在我们只要了解, 一个函数可以有返回值也可以没有, 可以有参数也可以没有. 例如Inputb ox就是有返回值的函数, 我们用赋值号左边的变量来"接"住InputBox的返回值--就是你输入的内容. 在inputbox右边的括号里是参数列表, 每个参数用","分隔开, 每个参数有不同的功效, 比如第一个参数会显示在提示里, 我们把msg这个变量作为第一个参数传给了Inputbox 函数, 而msg="请输入你的名字:", 所以我们在对话框的提示栏就会看到"请输入你的名字:" 第二个参数是对话框的标题, 我们用直接量(学名叫"常量", 这里是"字符串常量")传递给函数, 当然你也可以传递变量. Inputbox还有很多参数, 比如你在"名称"后面再加一个","然后输入随便一串字符(字符串,用双引号""包裹起来的一串字符叫做字符串)然后运行, 看看结果. 你会发现用于输入的文本框有了默认的值, 这就是第三个参数的作用.Msgbox函数是用来输出的函数, 在VBS中没有专门的输出函数(BASIC中的pr int,C中的printf), 所以我们只能用对话框来观察输出结果, Msgbox的必要参数只有一个, 就是要输出的内容, 在这种情况下, 我们不需要理会msgbox的返回值. 关于Msgbox和Inputbox我们以后还会在讨论, 今天只是热热身, 到此为止.要点:1) 注释(以REM或'开头)行在程序中不起作用, 但能让别人更容易读懂你的程序.2) 变量好像一个盒子, 或一个代号, 可以代表你想代表的东西. 变量赋值使用" ="3) 以""包裹起来的字符称之为"字符串"4) 函数像一个"黑箱", 有参数和返回值, 用"="左边的变量可以接住返回值5) Inputbox函数弹出一个输入对话框,Msgbox则用于输出作业:1) 试验Inputbox的第三个参数2) 写一段程序输出你的年龄3) 写一段程序进行3次输入, 分别输入你和你父母的姓名(要求显示提示), 并分3次输出第二篇(共六篇)我真没想到, 第一次的作业竟然有人不会.看来要讲的非常非常细致才行, 嗯, 今天讲各种"量"和基本运算先说常量, 这个比较简单.什么是常量呢, 常量就是其值不可变化的量.常量分为两种:第一种, 自然常量. 这叫是因为它们本身就是常量, 你怎么更改2 1的值呢? 他永远都是21, 不可能变成46如果你在程序中使用"21=46", 这样的语句将会引发一个错误. 同样的, 字符串也是常量(还记得字符串吗? 就是包裹在""之间的一串字符), "Hello World"就是一个例子, 如果你使用"Hello World"="Bye"这样的语句同样会引发一个错误. 你能举出自然常量的更多例子吗?第二种, 是我们自己定义的常量,这种量也使用代号, 它们也被赋值, 但和变量的不同点在于, 他们在定义的时候被赋值,以后就不能改变了,如果企图改变将会引发一个错误. 定义一个变量,我们使用"const"这个关键字(关键字的意思是系统定义了有特殊功能的字, 不能作为变量名或常量名使用)格式是:const 常量名=常量值.例如:const PI=3.1415926const NAME="记忆碎片"这样我们就定义了两个常量, PI和NAME, 一般说来, 常量名全部使用大写, 但也可以不用, 随你喜好. 将一些在程序中不需要改变的值定义为常量是个好习惯, 这样能防止不必要的意外. 另外, 使用自定义常量也可以减少你的工作量. 比如: msgbox("Hello World")msgbox("Hello World")msgbox("Hello World")msgbox("Hello World")msgbox("Hello World")这个程序输出五次Hello World, 如果你想要改变输出为Bye-Bye, 就必须修改全部程序, 当然你可以手动修改5次, 但如果你要输出1000次呢? 常量就可以替我们解决这个问题:const hw="Hello World"msgbox(hw)msgbox(hw)msgbox(hw)msgbox(hw)msgbox(hw)这样当你要修改输出的时候只要修改hw的值就行了.好了, 现在我们来看看编程的第一块重要"基石":变量. 解释变量最好的办法我觉得是"盒子", 一个变量好像一个盒子, 里面只能装一个东西, 当你要装进去别的东西的时候必须把原有的东西拿出来. 这个"盒子"是有名称的, 当你在程序中使用变量的时候, 系统会打开盒子取出里面的东西, 让这些东西参与处理, 而不是盒子. 有些语言是很依赖"盒子"里面装些什么东西, 这样才能找到合适的"盒子"(比如C语言), 但V BS给我提供的是能够自动伸缩的"魔术盒", 我们不用关心装进去的是什么东西, VB S会自动调整盒子的大小. 例如:Dim a1,a2,a3a1=14a2=12.23a3="Hello"而不用像C语言那样麻烦: 或者是VB的正规声明(VB可以声明也可以不用)那样:int a1; Dim a1 as integerfloat a2; Dim a2 as Doublechar* a3; Dim a3 as stringa1=14; a1=14a2=12.23; a2=12.23a3="Hello"; a3="Hello"嗯……扯远了……变量有什么用呢? 哇, 那用处可大了. 最简单, 你并不能确定程序运行时变量的值, 比如前一节课我们编的输入姓名的程序, 你不能确定InputBox返回的是什么(还记得Inputbox的返回值吗? 就是你输入的内容), 所以你就没有办法应对各种情况, 但我们用name这个"盒子"把用户的名字装起来, 到用的时候我们只要知道name这个盒子的名字就行了, 系统会自己打开它并把里面的内容拿出来用. 再举个例子, 我们编写一个程序计算一个矩形的面积, 比如这个程序要发给小学生使用: dim a,b,sa=15b=12s=a*bmsgbox(s)这样就可以求出长为15,宽为12的矩形的面积了, 是不是很简单? 当然,这个程序也可以这样写:dim ss=15*12msgbox(s)这样看起来程序短了许多, 也节约内存, 但两种都并不是鼓励的做法, 为什么? 请看下面.现在, 我们的程序要变得像点样子才行, 谁的程序写出来还要别人修改源代码才能用啊?所以, 我们要接受用户的输入, 还记得吗? InputBox函数.修改后程序如下:dim a,b,sa=inputbox("请输入矩形的长:")b=inputbox("请输入矩形的宽:")s=a*bmsgbox(s)ok, 这么一修改, 无论用户输入怎样的数据, 我们都能计算出矩形的面积了. 如果你用s=15*12能改嘛? 当然不行.我想你已经发现了, vbs中的数学计算和真正的算术没有什么不同, +,-,*,/,(),[],{}都是一样的用法, 比如:dim ansans=12+32/4+[(23-10)*2]msgbox(ans)四则运算的法则在编程中同样生效, 你可以在编程中重新获得小学时候的乐趣(你恨数学?那就别学电脑了).在编程中有一个有趣的运算符是"mod", 这个运算符叫做"取余运算符", 就是取得一次除法的余数, 例如dim aa=16 mod 5你知道a等于几吗? Bingo! 没错, 就是1. 因为16 / 5 =3....1, 所以mod计算的结果就是1.还有一个运算符是"^"(就是键盘"6"上面的小箭头), 他表示"乘幂"(或者是"方") 比如:dim a,b,ca=2b=a^2c=a^3msgbox(b)msgbox(c)则b=a*a=4, c=a*a*a=8好了,我们一次不要讲太多, 这次就讲到这里, 现在总结一下.要点:1) 常量分为自然常量和自定义常量, 常量的值不可修改2) 变量就像盒子, 我们不在乎盒子里装的是什么, 但一定要知道盒子的名字3) 四则运算在编程中没有任何不同4) MOD是取余运算作业:1) 编一个程序, 计算圆形的面积, 半径由用户给出(使用Inputbox) PI取值3.1 41592) 编一个程序取得20 / 3 的余数第三篇(共六篇)首先, 我来解决一下上次课程的几个疑问第一, 那个余数问题, 16 / 5 = 3……1, 是因为我改过前面的部分, 后面的忘了改了, 不好意思.第二, 请看一下程序清单:(1)Dim a,b,ca=inputbox("a是:","输入半径")b=Inputbox("b是:","输入半径")c=a*2+b*2Msgbox(c)这个输入1、2时是6(2)Dim a,b,ca=inputbox("a是:","输入半径")b=Inputbox("b是:","输入半径")c=(a+b)*2Msgbox(c)这个输入1、2时是24为什么会不一样呢? 在数学上c=(a+b)*2 和c=a*2+b*2是等价的, 在VBS中也是如此. 问题出在"+"上, 在VBS中, +不仅仅是加号的意思还表示把两个字符串连接起来, 例如"Hello"+"World"="HelloWorld" have you understood? 你还记得InoutB ox函数的返回值吗? 是字符串! 这就看出问题了吧, 在编程中"1"不等于(<>)1, "1"是一个字符, 而1是一个数, 所以a,b都是字符串变量, "1"+"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函数就会返回那个整数(你的输入值), 然后让返回值参与运算, 这样就得到了正确答案.所以,以后如果你用的是inputb ox函数的话,最好用int语句加工一下:比如c=int(c) 'c是你自己的变量另外,还有一个函数:CDbl。
VBS基础编程教程(第1篇)
VBS基础编程教程(第1篇), 如果你想接触以下VBScript也可以, 但既然有编程基础推荐直接去找⼀些参考书来读, 会⽐较快.什么是VBScript呢? VBScript的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版). 正如其字⾯所透露的信息, VBS(VBScript的进⼀步简写)是基于Visual Basic的脚本语⾔.我进⼀步解释⼀下, Microsoft Visual Basic是微软公司出品的⼀套可视化编程⼯具, 语法基于Basic. 脚本语⾔, 就是不编译成⼆进制⽂件, 直接由宿主(host)解释源代码并执⾏, 简单点说就是你写的程序不需要编译成.exe, ⽽是直接给⽤户发送.vbs的源程序, ⽤户就能执⾏了. 我知道菜鸟现在最关⼼的就是⽤什么⼯具来开发VBS程序了, 答案是:记事本(Notepad).我不是开玩笑, 其实任何⼀种⽂本编辑器都可以⽤来开发VBS开发, 只不过记事本是由系统⾃带的, ⽐较好找⽽已. 尽管如此, 我还是建议你去下载⼀个专业的⽂本编辑器, 因为这些⼯具可以提供 "语法⾼亮"等功能, 更加⽅便开发, ⽤哪⼀个随你喜好, 我⽐较喜欢Edit Plus (2.10). OK, 我们先来写⼀个VBScript程序热热⾝.REM 输⼊并回显你的名字 '使⽤InputBox和Msgbox函数复制代码代码如下:Dim name,msgmsg="请输⼊你的名字:"name=Inputbox(msg,"名称")Msgbox(name)把上⾯的程序清单输⼊到记事本⾥⾯, 然后保存为以.vbs为扩展名的⽂件("保存类型"⾥⾯选择"所有⽂件").然后双击运⾏, 观察运⾏结果. 注意:请⾃⼰输⼊程序清单, 不要复制->粘贴! 我来解释⼀下这个程序, 第⼀⾏和第⼆⾏的开头分别是"REM"语句和" ' ", 这两个东西的作⽤是相同的, 表⽰本⾏是注释⾏, 就是说这两⾏什么也不⼲,只是⽤来说明这段程序的功能, 版权信息等等. 注释⾏是程序最重要的部分之⼀, 尽管它不是必需的, 但对于其他⼈阅读源代码, 以及⾃⼰分析源代码是很有好处的. 好的习惯是在必要的地⽅加上清晰, 简洁的注释. Dim⽤来声明⼀个变量, 在VBS中, 变量类型并不是那么重要, 就是说VBS会帮你⾃动识别变量类型, ⽽且变量在使⽤前不⼀定要先声明, 程序会动态分配变量空间. 在VBS中你不⽤考虑name储存的是⼀个整数还是⼀个⼩数(学名叫"浮点数"), 也不⽤考虑是不是字符串(⼀串字符, ⽐如:"Hello World"), 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次输出上⾯的布局太乱了,⼤家可以参考下⾯这些⽂章:VBScript MsgBox 函数VBScript InputBox 函数灵活实⽤的VBS⼊门教程基础篇更多的学习技巧就是多看多写,多测试。
(待分)完整的VBS教程超级实用
()
这样就可以求出长为,宽为的矩形的面积了,是不是很简单?当然, 这个程序也可以这样写:
*
()
这样看起来程序短了许多,也节约内存,但并不是鼓励的做法,为什么?请看下面。
现在,我们的程序要变得像点样子才行,谁的程序写出来还要别人修改源代码才能用啊?
所以,我们要接受用户的输入,还记得吗?函数。
修改后程序如下:
函数是用来输出的函数,在中没有专门的输出函数(中的中的),所以我们只能用对话框来观察输出结果,的必要参数只有一个,就是要输出的内容,在这种情况下,我们不需要理会的返回值.关于和我们以后还会在讨论,今天只是热热身,到此为止.
要点:
)注释(以或'开头)行在程序中不起作用,但能让别人更容易读懂你的程序.
)变量好像一个盒子,或一个代号,可以代表你想代表的东西.变量赋值使用""
再往下和是内建的函数,一个函数就相当于一个"黑箱",有输入(参数)和输出(返回值),你可以不用了解函数是怎么运作的,只要了解这个函数能干什么就行了,我们也可以定义自己的函数,不过那要等到以后再讲.现在我们只要了解,一个函数可以有返回值也可以没有,可以有参数也可以没有.例如就是有返回值的函数,我们用赋值号左边的变量来"接"住的返回值就是你输入的内容.在右边的括号里是参数列表,每个参数用","分隔开,每个参数有不同的功效,比如第一个参数会显示在提示里,我们把这个变量作为第一个参数传给了函数,而"请输入你的名字:",所以我们在对话框的提示栏就会看到“请输入你的名字:”第二个参数是对话框的标题,我们用直接量(学名叫"常量",这里是"字符串常量")传递给函数,当然你也可以传递变量.还有很多参数,比如你在"名称"后面再加一个","然后输入随便一串字符(字符串,用双引号""包裹起来的一串字符叫做字符串)然后运行,看看结果.你会发现用于输入的文本框有了默认的值,这就是第三个参数的作用。
VBS基础篇-条件语句
VBS基础篇-条件语句经常地,当我们编写代码时,我们需要根据不同的判断执⾏不同操作,我们可以使⽤条件语句完成这个⼯作。
If...Then...Else在下⾯的情况中,您可以使⽤ If...Then...Else 语句:在条件为true时,执⾏某段代码选择两段代码之⼀来执⾏时dim a '定义⼀个变量a = 100if a < 200then a = 300 '若i<200,则对i重新赋值msgbox a '输出的值为300要运⾏多⾏代码,必须使⽤多⾏(或块)语法,多⾏(或块)语法包含 End If 语句dim a,b,ca=inputbox("请输⼊a的值:")b=100c=200if a<200then'条件为 True 时运⾏某⼀语句块,条件为 False 时运⾏另⼀语句块msgbox belsemsgbox cend if对多个条件进⾏判断,可以添加任意多个ElseIf⼦句以提供多种选择dim aa=inputbox("请输⼊a的值:")if a<200then'条件为 True 时运⾏某⼀语句块,条件为 False 时运⾏另⼀语句块msgbox"执⾏语句1"elseif a=200thenmsgbox"执⾏语句2"elseif a>200thenmsgbox"执⾏语句3"end ifSelect Case结构提供了 If...Then...ElseIf结构的⼀个变通形式,可以从多个语句块中选择执⾏其中的⼀个。
Select Case语句提供的功能与 If...Then...Else语句类似,但是可以使代码更加简练易读。
'Select Case 结构在其开始处使⽤⼀个只计算⼀次的简单测试表达式。
表达式的结果将与结构中每个 Case 的值⽐较,如果匹配,则执⾏与该Case 关联的语句块。
VBS教程:VBscript语句-If...Then...Else语句
VBS教程:VBscript语句-If...Then...Else语句If...Then...Else 语句根据表达式的值有条件地执⾏⼀组语句。
If condition Then statements [Else elsestatements ]或者,使⽤块形式的语法:If condition Then[statements][ElseIf condition-n Then[elseifstatements]] . . .[Else[elsestatements]]End If参数condition⼀个或多个下⾯两种类型的表达式:数值或字符串表达式,其运算结果是 True 或 False。
如果 condition 是 Null,则 condition 被视为 False。
形如 TypeOf objectname Is objecttype 的表达式。
objectname 是任何对象的引⽤,⽽ objecttype 则是任何有效的对象类型。
如果 objectname 是 objecttype 所指定的⼀种对象类型,则表达式为 True;否则为 False。
Statements如果 condition 为 True 时,执⾏的⼀条或多条(以冒号分开)语句。
condition-n同 condition。
elseifstatements如果相关的 condition-n 为 True时,执⾏的⼀条或多条语句。
elsestatements如果前⾯没有 condition 或 condition-n 表达式为 True 时,执⾏的⼀条或多条语句。
说明对于短⼩简单的测试,可以使⽤单⾏形式(第⼀种语法)。
但块形式(第⼆种语法)提供了⽐单⾏形式更强的结构化与适应性,⽐较容易阅读、维护及调试。
注意在单⾏语法中,可以执⾏多条语句作为 If...Then 判断的结果,但所有语句必须在同⼀⾏上并且以冒号分开,如下列语句所⽰:If A > 10 Then A = A + 1 : B = B + A : C = C + B当程序运⾏到 If 块(第⼆种语法)时,将测试 condition。