VBS脚本编程简明教学教程.doc
《VBS脚本编程简明教学教程.doc》由会员分享,可在线阅读,更多相关《VBS脚本编程简明教学教程.doc(92页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、|第一章 VBS 脚本编程简明教程 第一节 Vbs 脚本编程简明教程之一为什么要使用 Vbs? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复 性劳动,例如你每周也许需要对一些计算机文件进行复制、粘贴、改名、删除, 也许你每天启动计算机第一件事情就是打开 WORD ,切换到你喜爱的输入法进 行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可 能你经常需要对文本中的某些数据进行整理,把各式各样的数据按照某种规则排 列起来。这些事情重复、琐碎,使人容易疲劳。 第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往往事 倍功半,我也尝试过使用计
2、算机语言编写程序来解决这些问题,但是随之而来的 命令、语法、算法、系统框架和类库常常让我觉得这样是否有必要,难道就是因 为猪毛比较难拔,所以我就要去学习机械,为自己设计一个拔猪毛机(?)吗? Vbs 是一种 Windows 脚本,它的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化 BASIC 脚本版) ,VBS 是 Visual Basic 的的一个抽象子集, 是系统内置的,用它编写的脚本代码不能编译成二进制文件,直接由 Windows 系统执行(实际是一个叫做宿主 host 的解释源代码并执行) ,高效、易学,但是 大部分高级语言能干的事情
3、,它基本上都具备,它可以使各种各样的任务自动化, 可以使你从重复琐碎的工作中解脱出来,极大的提高工作效率。 我个人认为 Vbs 脚本其实就是一种计算机编程语言,但是由于缺少计算机程 序设计语言中的部分要素,对于事件的描述能力较弱,所以称为脚本,它最方便 的地方就是提供了对 COM 对象的简便支持。那么什么是 COM 对象呢? 我这样理解,COM 对象就是一些具有特定函数功能项程序模块,他们一般 以 ocx 或者 dll 作为扩展名,你只要找到包含有你需要的功能的模块文件,并在 脚本中规范的引用,就可以实现特定的功能,也就是说 Vbs 脚本就是调用现成的 “控件” 作为对象,用对象的属性和方法实
4、现目的,完全免去了编写代码、设计算 法等等麻烦。说白了,我不是觉得拔猪毛麻烦么?我发觉 xx 机(比如真空离心 器)有一个功能可以实现脱毛,ok,我把它拿来给猪脱毛。什么?大材小用?太 浪费资源了?天哪,那是计算机芯片的事情,死道友不死贫道,反正我的事情是 方便快速的解决了,这就行了。 最方便的是它甚至不需要专门的开发环境,在你的计算机中,只要有 notepad,就可以编写 Vbs 脚本了,并且可以直接执行。 第二节 Vbs 脚本编程简明教程之二如何开始第一个 Vbs 脚本? 就像多数计算机教程一样 ,我们从“Hello World!”程序开始我们的练习。 什么?不知道是什么意思?就是说大部分
5、的计算机程序设计教程开篇入门都是编 写一个小程序,执行这个程序的结果就是在计算机的屏幕上或者 dos 窗口中显示 一行文字:Hello World !好了,我们开始吧。 打开你的“ 记事本” 程序,在编辑窗口填写:|msgbox “Hello World!“ 然后用鼠标单击“ 文件” 菜单,单击“ 保存” ,把“保存在”一栏设为桌面,在“ 文 件名”一栏中填写 kk.vbs ,单击“ 保存” 就可以了。然后最小化“记事本”窗口,在桌 面上寻找你刚刚保存的 kk.vbs,然后双击。看到弹出的对话框了没有,单击“确 定”,对话框消失了。难看了点,不过确实是你编写的第一个脚本程序。 说 明之一:上面
6、的操作中,保存位置放在桌面,仅仅是为了执行方便,你 保存到其他的地方完全没有问题,只要你知道你保存在什么地方就可以了,什么? 是废话,自 己保存的当然知道保存在那里了。不,自己保存的文件自己找不到 的人我见的多了去了。文件名你可以随意填写,不一定非要写 kk,只要符合 Windows 的文件命名规则就可以了,但是扩展名必须是 vbs ,什么? 不知道什么是 扩展名?就是文件名中“.” 后的那部分,简单说,就是 vbs 脚本文件命名时必须是: xxx.vbs,其中 xxx 你随意。 说明之二:在记事本编辑窗口中写的这行是什么意思? Msgbox 是 VBS 内 建的函数,每一个函数都可以完成一定
7、的功能,你只需 要按照语法要求,在函数的相应部分填写相应的内容就可以了,这部分内容我们 称为参数,当然函数执行的结 果我们称为返回值,一个函数可以有返回值也可 以没有,可以有参数也可以没有。你不用了解函数是怎么运作的,只要了解这个 函数能干什么就行了。 Msgbox 语法:msgbox “ 对话框内容“, , “对话框的标题“ 你不妨用记事本打开刚才的文件在编辑窗口中输入: msgbox “Hello World!“ , , “系统提示“ 执行一下,看看效果和位置。 说明之三:如果执行失败,看看你的标点符号,所有的标点符号必须是在英 文状态下输入的。 当然,这个脚本实在是太简单了,甚至连最简单
8、的交互都没有,所以你可以 把脚本这样修改一下: Dim name name=Inputbox(“请输入你的名字:“,“ 名称“) Msgbox name, , “ 您的名字是“ 保存执行一下,看到弹出的对话框了么?填入你的名字,点确定,看到结果 了吗? 说明之一:第一句是定义变量,dim 是定义变量的语句 其格式为:dim 变量 1,变量 2, Vbs 只有一种变量类型,所以不用声明变量类型。系统会自动分辨变量类型。 说明之二:inputbox 是 VBS 内建的函数,可以接受输入的内容,其语法格 式为: Inputbox(“对话框内容“,“ 对话框标题“) 第二句的意思是接受用户的输入,并把
9、输入结果传递给变量 name。 好了,到此脚本基本的输入输出函数都有了,已经可以完成一些比较简单的 功能了,你可以编写一个简单的脚本,然后拷贝的“ 程序”“启动”中,然后重 新启动计算机看看结果。|第三节 Vbs 脚本编程简明教程之三Vbs 的基本语法 (牢记) VBScript 基础知识 一、变量 1、所有单引号后面的内容都被解释为注释。 2、在 VBScript 中,变量的命名规则遵循标准的命名规则,需要注意的是: 在 VBScript 中对变量、方法、函数和对象的引用是不区分大小写的。在申明变 量时,要显式地申明一个变量,需要使用关键字 DIm 来告诉 VBScript 你要创 建一个变
10、量,并将变量名称跟在其后。申明多个同类型变量,可以用逗号分隔。 注意:VBScript 中不允许在申明变量的时候同时给变量赋值。但是允许在一行 代码内同时对两个变量进行赋值,中间用冒号分隔。 3、你可以使用 OptionExplicit 来告诉宿主变量必须先声明后使用。 4、VBScript 在定义时只有一种变量类型,在实际使用中需要使用类型转换 函数来将变量转换成相应的变量类型。 Cbool 函数将变量转换成布尔值; Cbyte 函数将变量转换为 0 到 255 之间的整数。 Ccur 函数、Cdbl 函数和 Csng 函数将变量转换为浮点数值,前者只精确到 小数点后四位,后两者要更加精确,
11、数值的范围也要大的多。 Cdate 函数将变量转换为日期值。 Cint 函数和 Clng 函数将变量转换为整数,后者的范围比前者要大的多。 Cstr 函数将变量转换为字符串。 二、数组 数组的定义与变量非常类似,只需要在变量后描述这个数组的个数和维数。 需要注意的是:数组的下标总是从 0 开始,而以数组定义中数值减一结束。也 就是说你以要定义一个有十个数据的数组,将这样书写代码:dImarray (9) , 同样,当你要访问第五个元素时,实际的代码是 array(4) 。当然,你可以通过不 指定数组的个数和维数来申明动态数组。等到数组的个数和维数固定后,使用 关键字 redim 来改变数组。注
12、意,在改变数组的大小时,数组的数据会被破坏, 使用关键字 preserve 来保护数据。例如: RedIm 空格 preserve 空格 array 括号个数逗号维数括号 三、操作符 在 VBScript 运算符中,加减乘除都是我们常用的符号,乘方使用的是 , 取模使用的 Mod。 在比较操作符中,等于、小于、大于、小于等于、大于等于都与我们常用 的符号是一致的,而不等于是小于和大于连用。 逻辑运算符为:和操作AND 非操作NOT 或操作OR; 你可以使用操作符 +和操作符 & 来连接字符串,一般使用& 操作符; 另外还有一个比较特殊的操作符 Is 用来比较对象,例如按钮对象,如果对 象是同一
13、类型,结果就是真,如果对象不是同一类型,结果就是假。 四、条件语句主要有 ifthen 语句和 selectcase 语句两种形式 在 ifthen 语句中,其基本形式为:|If 条件 then 处理条件的语句; Endif 基本形式只能对单个条件进行验证,如果有两个条件,则需要在基本形式 中添加单行语句 else,如果还有更多的条件需要验证,则需要添加语句 Elseif 条件 then 处理条件语句 在 selectcase 语句中,其基本形式为: Select case 变量 Case 条件值 处理条件语句 并对上两句进行重复 最后一句应为 case else 处理语句 当然不要忘记将条件
14、结束语句 End select 放在最后一行 注意:在执行字符串比较时,需要特别注意大小写,一般情况下,我们在 比较前,使用 lcase 函数将字符串转换成小写,使用 ucase 函数将字符串转换成 大写大写。 五、循环控制语句 循环控制语句有 fornext 循环、foreach 循环、dowhile 循环、 dountil 循环、while 循环五种形式。 在使用循环控制语句前,首先要对循环条件进行判断,如果循环次数是有 固定次数的,那么使用 Fornext 循环,其结构为: For 计数器变量开始计数值 to 最后计数值 执行循环体 Next 如果是需要对数组或对象集合中的每一个元素进行
15、判断,则需要使用 foreach 循环,其结构为: For each 循环计数变量 in 要查看的对象或数组 执行处理语句 Next 注意:在上述两种循环中随时可以使用 exit for 来退出循环 如果你希望在条件满足时执行一段代码则使用 dowhile 语句,结构为: Do while 条件 执行循环体 Loop 如果你希望在条件不满足时执行代码,则使用 dountil 语句,结构为: Do until 条件 执行循环体 Loop 当然,在这两种循环语句中,你可以使用 exit do 来退出循环|最后一种循环语句是条件满足时一直执行循环, While 条件 执行循环体 Wend 六、使用过
16、程 常用的过程有两种,一种为函数,给调用者返回值,一种为子程序,无返 回值,还有一种叫事件的特殊子程序,用的比较少。 函数的基本定义方法为: Function 函数名称(参数列表) 函数代码 函数名称某值 用来返回值 end function 子程序一些都类似,不过没有返回值 注意:尽管在定义子程序的时候,参数列表要加括号,但在调用子程序的 时候,参数列表不加括号,括号只在函数中使用。另外,子程序不能在表达式 中使用。 而函数只能出现在赋值语句的右边,或者表达式中,函数不能直接使用, 如果必须直接使用函数,则必须使用 call 语句调用,并取消返回值。 第四节 Vbs 脚本编程简明教程之四如何
17、利用 Vbs 运行外 部程序? Vbs 只提供了编程的一个基本框架,用户可以使用 Vbs 来定义变量、过程和 函数,vbs 也提供了一些内部函数和对象,但是 Vbs 没有提供任何命令来访问 Windows 系统内部的部件,但是值得庆幸的是,Vbs 虽然不能自己完成这些任务, 但是它提供了一条极为方便、功能也相当强的命令CreateObject,这条命令 可以访问 windows 系统内安装的所有 com 对象,并且可以调用这些部件中存放 的命令。 于是问题解决了,比如说,我手头有 1000 个小文本,我首先要对每一个文 本的语法进行查错和修改,然后按照预先定义好的规则对这些文本进行排序,最 后
18、将这些文本合并成为一个文件。正常情况下,我们需要把打开第一个小文本, 然后把它复制到 WORD 中,然后利用里面的除错功能进行除错和修改,然后再 导入到 EXCEL 中进行排序,将这个过程重复 1000 遍,然后再将所有得到的文 本复制到一个大文本中。实在是太枯燥、工作量太大了。有了 Vbs 和 CreateObject,问题得到解决,我只需要找到相应的模块,调用相应的功能就可 以了,作为脚本,把一个枯燥的过程重复 1000 次,本就是它的拿手好戏。 好了,我们走入正题,从最简单的只启动一个程序开始。 WSH 也就是用来解析 Vbs 的宿主,本身包含了几个个常用对象: 1、Scripting.
19、FileSystemObject 提供一整套文件系统操作函数|2、Scripting.Dictionary 用来返回存放键值对的字典对象 3、Wscript.Shell 提供一套读取系统信息的函数,如读写注册表、查找 指定文件的路径、读取 DOS 环境变量,读取链接中的设置 4、Wscript.NetWork 提供网络连接和远程打印机管理的函数。 (其中,所有 Scripting 对象都存放 在 SCRRUN.DLL 文件中,所有的 Wscript 对象都存放在 WSHOM.ocx 文件中。 ) 现在我们需要的是第三个对象,好了,让我们先连接一下对象看看,在记事 本的编辑窗口中输入: Set
20、objShell = CreateObject(“Wscript.Shell”) objShell.Run “notepad” 同样,保存执行。那么看到了一个什么样的结果呢?在桌面上又打开了一个 记事本。 说明之一:Set 是 Vbs 指令,凡是将一对象引用赋给变量,就需要使用 set 关键字。那么什么是对象引用呢?凡是字符串、数值、布尔值之外的变量都是对 象引用。Objshell 是变量名,可以随意修改。 说明之二:反是正确引用的对象,其本身内置有函数和变量,其引用方法为 在变量后加“.”,后紧跟其实现功能的函数就可以了。Objshell.run 的意思就是调用 Wscript.shell
21、中的运行外部程序的函数run,notepad 是 记事本程序的文件名。当然你也可以改成“calc”,这是计算器的文件名,winword 是 word 的文件名,等等吧,所有可执行文件的文件名都可以。但是需要注意的 是,如果你要执行的可执行文件存放的地方不是程序安装的常用路径,一般情况 下,需要提供合法的路径名,但是 run 在运行解析时,遇到空格会停止,解决的 方法是使用双引号,例如:在我的机器上运行 qq,代码为: objshell.run “C:Program FilesQQ2006QQ.exe“ 注:三个引号 好, 我们再进一步,启动两个程序会如何呢? 输入如下代码: Set objSh
22、ell = CreateObject(“Wscript.Shell”) objShell.Run “notepad” objShell.Run “calc” 执行会如何呢?两个程序基本上同时启动了。如果我们需要先启动 notepad 再启动 calc 将如何呢?很简单在需要顺序执行的代码后加 , , True 参数就可以了。好了输入代码: Set objShell = CreateObject(“Wscript.Shell”) objShell.Run “notepad” ,true objShell.Run “calc” 看看执行的结果怎么样吧! 总结:run 函数有三个参数,第一个参数是你
23、要执行的程序的路径,第二个 程序是窗口的形式,0 是在后台运行;1 表示正常运行;2 表示激活程序并且显 示为最小化;3 表示激活程序并且显示为最大化;一共有 10 个这样的参数我只 列出了 4 个最常用的。 第三个参数是表示这个脚本是等待还是继续执行,如果设为了 true,脚本就会 等待调用的程序退出后再向后执行。 其实,run 做为函数,前面还有一个接受返回值的变量,一般来说如果返回|为 0,表示成功执行,如果不为 0,则这个返回值就是错误代码,可以通过这个 代码找出相应的错误。 第五节 Vbs 脚本编程简明教程之五错误处理 引发错误的原因有很多,例如用户输入了错误类型的值,或者脚本找不到
24、必 需的文件、目录或者驱动器,我们可以使用循环技术来处理错误,但是 VBS 本 身也提供了一些基本技术来进行错误的检测和处理。 1、最常见的错误是运行时错误,也就是说错误在脚本正在运行的时候发生, 是脚本试图进行非法操作的结果。例如零被作为除数。在 vbs 中,任何运行时错 误都是致命的,此时,脚本将停止运行,并在屏幕上显示一个错误消息。你可以 在脚本的开头添加 On Error Resume Next 这行语句可以告诉 vbs 在运行时跳过发生错误的语句,紧接着执行跟在它后 面的语句。 发生错误时,该语句将会把相关的错误号、错误描述和相关源代码压入错误 堆栈。 2、虽然 On Error R
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VBS 脚本 编程 简明 教学 教程
限制150内