导航
1.ByRef与ByVal区别
2.文字常量与具名常量
3.内建常量如msgbox
4.循环for-next,for each -next ——遍历数组,查找文件小案例,读取txt中的字符,循环结构概括
5.err用法
6.with-end with 在使用同一对象时可以使用
——————————————————————————————————————
1.ByRef与ByVal区别
ByRef:是传地址的
ByVal:是传值得
看例子:
Option Explicit dim a,b a = 1 b = 1 add a,b msgbox "a=" & a & " b=" & b sub add(ByRef a,ByVal b) a = a+1 '因为是传地址所以脚本集中的a也会加1 b = b+1 '传值只会在sub集中+1,外部不进行加1 end sub
运行结果:
——————————————————————————————————————
2.文字常量与具名常量
文字常量:字符串,数字文本,布尔值,日期都是一个文字常量,是动态的可以修改
具名常量:也就是存放地址的常量,运行时无法修改,是静态的,将Dim改为Const
注意:不能用变量或者函数来设置常量的值
Option Explicit dim name name = 123 const nam = name
会有错误:缺少文字常量
——————————————————————————————————————
3.内建常量如msgbox
msgbox “hello”,48 等同于 msgbox “hello”,vbExclamation
出现如下:
——————————————————————————————————————
4.循环for-next,for each -next
for-next: 可以控制循环次数
Option Explicit dim num,i for i=0 to 10 step 3 'step代表步数可以增加也可以减少 num = num+i next msgbox num
for each -next:用于遍历集合,不能直接控制循环的次数,要根据所遍历的集合中对象的个数
例子1:(采用循环判断c盘中是否有对应部件)
option explicit dim objFSO dim objRootFolder dim objFileLoop dim boolFoundIt set objFSO = wscript.createobject("scripting.filesystemobject") set objRootFolder = objFSO.GetFolder("c:\") set objFSO = nothing '释放掉此对象 boolFoundIt = false '初始状态定义为false for each objFileLoop in objRootFolder.Files '在集合中查看是否存在 if UCase(objFileLoop.name) = "AUTOEXEC.BAT" then boolFoundIt = true exit for end if next set objFileLoop = nothing '释放掉之前用的两个对象 set objRootFolder = nothing if boolFoundIt then '根据是否为true来表示是否查找到 msgbox "c盘中查找到此文件" else msgbox "查无此文件" end if
例子2:(不采用循环来查找是否存在文件,先创建对象后调用其中的函数fileExists)
option explicit dim objFSO set objFSO = wscript.createobject("scripting.filesystemobject") if objFSO.fileExists("C:\Users\93997\Desktop\vbs练习\1.txt") then '判断是否存在 msgbox "查找到" else msgbox "没有查找到" end if set objFSO = nothing '释放对象
例子3:(for each来遍历数组)
option explicit dim name(2) dim nalop,names '要进行定义 name(0) = "小明" name(1) = "小华" name(2) = "晓丽" '也可以对数组进行遍历用for each 而不是用下标来表示位置,直接用对象来表示 for each nalop in name names = names & nalop & " " next msgbox names ———————————————— 版权声明:本文为CSDN博主「长路 ㅤ 」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/cl939974883/article/details/104246077
例子4:(读取文本文件)
option explicit dim objFSO,objStream,strfile set objFSO = wscript.createobject("scripting.filesystemobject") set objStream = objFSO.openTextFile("123456.txt") set objFSO = nothing '释放对象 strfile = "" do while not objStream.atEndofStream '判断是否已经到了对应txt的末尾,没有到达继续执行 strfile = strfile & objStream.readline & vbNewLine '每次读取文件一行 loop set objStream = nothing '释放对象 msgbox strfile
循环结构如下:
——————————————————————————————————————
5.err对象用法
clear():清除Err的所有属性,并且清除最近一次错误
Raise():生成自定义时生成的任务
on error resume next:忽略脚本的所有错误,将错误报告关闭
on error goto 0:将错误报告开启
日期:2020.2.10 PM16:12