vbs语言基础教程

上传人:简****9 文档编号:95474350 上传时间:2019-08-19 格式:PPT 页数:36 大小:465KB
返回 下载 相关 举报
vbs语言基础教程_第1页
第1页 / 共36页
vbs语言基础教程_第2页
第2页 / 共36页
vbs语言基础教程_第3页
第3页 / 共36页
vbs语言基础教程_第4页
第4页 / 共36页
vbs语言基础教程_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《vbs语言基础教程》由会员分享,可在线阅读,更多相关《vbs语言基础教程(36页珍藏版)》请在金锄头文库上搜索。

1、VBS语言,主讲人:许卫明,2019/8/19,一、概述,VBScript(Microsoft Visual Basic Script Editon).,微软公司可视化BASIC脚本版). 正如其字面所透露的信息, VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言. 我进一步解释一下, Microsoft Visual Basic是微软公司出品的一套可视化编程工具, 语法基于Basic. 脚本语言, 就是不编译成二进制文件, 直接由宿主(host)解释源代码并执行, 简单点说就是你写的程序不需要编译成.exe, 而是直接给用户发送.vbs的源程序, 用户就能执行了

2、,2019/8/19,一、概述,基本分为3大类应用: 1、vbs可以做网页控制脚本,做页面特效,但是只支持ie浏览器。 2、vbs可以写ASP,在服务器端运行。查询数据库,输出ASP网页 3、Windows Script Host,一个文本文件,后缀命名成.vbs是可以直接在windows里运行的,常被病毒作者做成恶意代码。也可以写一些小的应用,比如一级考试系统安装,一切傻瓜化完成。,2019/8/19,一、概述,优点: 编写简单 功能强大,2019/8/19,二、变量,盛放数据的容器。占用一定的内存空间。 a=12 b=“你好!” 可事先定义变量,如: dim c,2019/8/19,三、对

3、话框,1、输入框 a=inputbox(“请输入第一条边的边长”,”第一条边”) 2、输出框 Msgbox(“输入错误!”),2019/8/19,四、运算符,1、加、减、乘、除、商取整、模(取余数)运算 + - * / mod 2、连接运算符 & + 3、逻辑运算符 = = = 4、 or and not,2019/8/19,四、运算符,5、其他运算符 多少次方 53 即5的立方。 Sqr 平方根 abs 绝对值 Int() 取整数 instr() 查找指定字符 split() mid()截取字符串,2019/8/19,练习1,1、制作一个求长方体体积小程序,分别弹出三个输入框,分别输入长、宽

4、、高,弹出对话框显示出体积 2、 编一个程序, 计算圆形的面积, 半径由用户给出 (使用Inputbox) PI取值3.14159,2019/8/19,五、条件语句,程序在某种条件执行的时候就要用到条件语句,2019/8/19,五、条件语句,语法: 1、 If(条件) then 执行语句 end if 例: If(score100) then Msgbox(“成绩出错”) End if,2、 If(条件) then 执行语句1 else 执行语句2 end if,2019/8/19,练习2,1、制作一个成绩判断程序:弹出一个输入框,输出该成绩等级。(成绩大于85分为优秀,否则为不优秀) 2、制

5、作一个三角形判断程序:分别弹出三个输入框,分别输入三条边的长度,弹出对话框显示该三角形是否为三角形。(任意两边之和大于第三边),2019/8/19,五、多重条件语句,语法: If(条件1) then 执行语句1 Elseif(条件2) then 执行语句2 * Else 执行语句n End if,2019/8/19,练习2,1、制作一个成绩判断程序:弹出一个输入框,输出该成绩等级。(成绩小于0分或大于100分,出错;成绩大于或等于85分为优秀;成绩在059分之间的为不及格;6070为及格;7184分的为良) 测试数据为-20,0,59,60,61,70,71,84,85,100, 120查看结

6、果是否满足程序要求,2019/8/19,六、循环语句,某一语句需要执行许多次的时候使用 例如,产生五个对话框,对这五个对话框的数求和 a=int(inputbox(“请输入数字“) s=s+a A=int(inputbox(“请输入数字“) s=s+a a=int(inputbox(“请输入数字“) S=s+a a=int(inputbox(“请输入数字“) s=s+a a=int(inputbox(“请输入数字“) s=s+a msgbox(“这几个数的和为“&s),2019/8/19,六、循环语句,从上面的程序总结如下: 1、大小写无所谓(有语言不行,如C、C#、java等) 2、变量第一

7、次使用时值为空 3、变量赋值多次时,其值为最后一次赋的值。 4、s=s+a表示,s在原值的基础上加上a的值。,2019/8/19,六、循环语句,For i=1 to 5 a=int(inputbox(“请输入数据”) s=s+a next (分析程序运行过程及最后i的值) 注意问题: 死循环,2019/8/19,六、循环语句,思考: For i=1 to 5 a=int(inputbox(“请输入第n个数据”) s=s+a next,2019/8/19,练习3,1)水仙花数是指一个 n 位数 ( n3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:13 + 53 + 33 = 15

8、3) 提示: 153 个位数为3 十位数为5 百位数为1 236 个位数为6 十位数为3 百位数为2 复习运算符,2019/8/19,六、循环语句,do while条件 执行语句 loop 例:s=1+2+3+* +n,问到当s=50时,n的值是多少? while(条件) 执行语句 wend,2019/8/19,六、循环语句,循环嵌套: for i=1 to 10 for j=1 to 5 msgbox(“i的值为”&i&” j的值为”&j) next next,2019/8/19,练习4,在我国的数学经典著作“九章算术”中有这样一道题:百钱买百鸡, 公鸡5钱一只, 母鸡3钱一只, 小鸡1钱3

9、只)求得是能有多少种办法买这些鸡. 如果看不懂的话我用大白话说说:有人要去买鸡, 用100块钱正好买了100只鸡, 价格如下:公:5$, 母:3$, 小:1$ 3只, 让你求一共多少种卖法(公母小怎么搭配). 请用循环解决这个问题. 提示: 设公鸡数量为a,则a的范围为? 设母鸡数量为b,则b的范围为?,2019/8/19,七、数组,一系列有规则的变量,可以使用数字下标来表示。 先定义数组 dim a(9) 数组就是a(0)、a(1)、*、a(9)共10个变量 也可不指定数组的个数,则如下定义: dim a() ubound(a)取数组a()的下标 例如:产生10个对话框输入10个数字,并将这

10、10个数字倒序显示出来。 思考下,如何编程,2019/8/19,七、数组,dim a(9) For i=0 to 9 a(i)=inputbox(“请输入第“&i&“个数据“) Next For i=9 to 0 step -1 msgbox(a(i) Next,2019/8/19,练习5,1、现有字符串“10123423453545”,根据字符“”分割字符,计算各字符的总和。 提示: split函数 传回数组 = Split(原始字串, 要找的字串, 拆成几个数组) t= “10123423453545” a=split(t,”) 相当于a(0)=10 a(1)=12 *,2019/8/19

11、,八、VBS对文件的读写操作,1、打开文件 使用opentextfile方法 set fs =createobject(“scripting.filesystemobject”) set ts=fs.opentextfile(“c:1.txt”,1,true) 注意这里需要填入文件的完整路径,后面一个参数为访问模式;也可不输入路径,则打开当前目录下文件 1为forreading 2为forwriting 8为appending 第三个参数指定如果指定文件不存在,是否创建。,2019/8/19,八、VBS对文件的读写操作,2、读取文件 读取文件的方法有三个 read(x)读取x个字符 readl

12、ine读取一行 readall全部读取 例如: set fs =createobject(“scripting.filesystemobject”) set ts=fs.opentextfile(“c:1.txt”,1,true) value=ts.read(20) line=ts.readline contents=ts.readall,2019/8/19,八、VBS对文件的读写操作,textstream对象的atendofstream属性。当处于文件结尾的时候这个属性返回true.我们可以用循环检测又没有到达文件末尾。例如: set fs =createobject(“scripting.

13、filesystemobject”) set f=fs.getfile(“c:1.txt”,1,false) set ts=f.openastextstream(1,0) do while ts.atendofstreamtrue f.read(1) loop,2019/8/19,八、VBS对文件的读写操作,skip(x) 跳过x个字符 skipline 跳过一行,2019/8/19,八、VBS对文件的读写操作,3、写文件 可以用forwriting和forappending方式来写 写有3各方法: write(x) ,该方法输出不换行,需要使用chr(13)换行 writeline ,该方法

14、自动换行 writeblanklines(n) 写入n个空行,2019/8/19,八、VBS对文件的读写操作,data=”hello, I like script programing” set fs =createobject(“scripting.filesystemobject”) if (fs.fileexists(“c:2.txt”) then set f =fs.opentextfile(“c:2.txt”,8) f.write data f.writeline data f.close else set f=fs.opentextfile(“c:2.txt”,2, true) f

15、.writeblanklines 2 f.write data f.close end if,2019/8/19,练习6,1、利用VBS,创建文本文档C:/1.txt,里面内容如下: 北京, 2、利用VBS,弹出输入框,在里面可输入姓名,创建文本文档C:/2.txt,里面内容如下: 欢迎(输入框里的姓名)! 3、利用VBS,将文本文档里面的内容合并如下: 北京,欢迎(输入框的姓名)!,2019/8/19,九、VBS运行外部命令,1、打开记事本 下面的 vbscript 代码用记事本打开当前运行脚本的副本。 set wshshell = script.createobject(“wscript.

16、shell“) wshshell.run “%windir%notepad “,2019/8/19,九、VBS运行外部命令,2、执行CMD命令 下面的 vbscript 代码打开一个命令窗口,将路径改为 c:,并执行 dir 命令。 dim oshell set oshell = wscript.createobject (“wscript.shell“) oshell.run “cmd /k “,2019/8/19,九、VBS运行外部命令,3、模拟键盘输入 Set objShell = CreateObject(“Wscript.Shell”) set WshShell = CreateObject(“WScript.Shell”) WScript.Sleep 3000 延时3秒 WshShell.SendKeys “hello” 模拟输入 hello WshShell.SendKeys “Enter” 模拟输入

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号