VBS基本语法
一、初识VBS
Vbs 是一种变量无关、解释性执行的脚本语言。vbs语言中不区分大小写。语句以换行结束。
dim 声明变量;批量名称声明,多个变量之间用逗号分隔:
set 赋值;
rem 注释,同 '
msgbox(prompt,buttons,title,helpfile,context) 输出 msgbox(s) 把两个不同的内容一起输出时用“+”连接
prompt 显示的字符串,最大为1024字符,如果换行用回车换行符组合 chr(13)&chr(10) buttons 默认值为0,为显示按钮值的参数
title标题,如果省略则交应用程序的名称显示在标题栏中;
helpfile字符串表达式,用于标识为对话框提供上下文相关帮助文件,如果提供了helpfile,则必须提供context
context 数值表达式,用于标识某个帮助文件的编号,必须与helpfile一起使用;
inputbox(msg,"title","wow~") '第一参数为显示语句,最大长度为1024;第二为框体名称,第三为默认输入内容
msgbox的返回值有1-7七个数,依次来自:确定、取消、放弃、重试、忽略、是、否;
二、数据类型
在vbs中只有一个基本数据数据类型 Variant,variant中包含integer等子类型,用VarType()函数可返回数据的子类型的对应值;使用typename(对象)也可返回子类型;
子类型有:
byte,integer,long,single,duble,currency(货币值),decimal,date,string,boolean,empty(未初始化),null(无有效数据),object(一般对象),unknown,nothing(还未引用对象实例的对象变量),error
const 声明常量;也可用Private或者Public来改变变量的公有和私有属性;
dim A(10) 11元素数组,赋值A(2)=1,二维数组:B(2,2) 单点赋值B(1)(2)'数组最高可为60维
变量的命名规则:
1、第一个字符必须是字母;
2、不能包含嵌入句点的语句;
3、长度不能超过255个字符;
4、在被声明的作用域内必须唯一;
三、运算符
1、算术运算符
+ 加
- 减
* 乘
/ 除
\ 整除
mod 取余(%)
^ 幂
& 字符串连接,字符串即用“”包围的内容
2、比较运算符
= 等于
<> 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于
Is 对象引用比较
3、逻辑运算符
not 非
and 与
or 或
xor 异或
eqv 等价
imp 隐含
四、控制结构
1、条件语句:
if...then ...else if...then ...else ... end if
select case .. case .. ... case .. ... case else ... end select
2、循环:
(1)、do...loop '重复执行do和loop之间的语句,直到exit do
exit do
(2)、while...wend
(3)、for...next.
(4)、for each ... next
五、函数
1、格式:
sub Name() ... end sub
function xx() ... end function
sub无返回值,function有返回值
2、常用函数:
1 asc(s) 返回s内第一个字母对应的ASCII码 2 chr(51) 将数字返回对应的字符 3 cbool() 返回表达式的boolean值 4 cByte() 将表达式转换为byte子类型的variant 5 cCur() 将表达式转换为currency 6 cdate() 将表达式转换为date 7 cdble() 将表达式转换为double类型 8 cint() 转换为integer 9 cLng() 转换为long 10 csng() 转换为single 11 cstr() 转换为string 12 isArray() 判断是否为数组,返回bool值; 13 isDate() 判断是否为日期,返回bool值; 14 isEmpty() 判断是否已初始化,返回bool值; 15 isNumeric()判断是否为数字,返回bool值; 16 isNull() 判断是否不包含有效数据,返回bool值; 17 isObject() 判断是否引用了有效对象,返回bool值; 18 len(() 返回字符串内的字符数或存储一变量所需要的字节数; 19 left(string,length) 返回从字符串左边算起的指定数目的字符; 20 mid(string,start,length) 从字符串中返回指定数目的字符; 21 right(string,length) 从字符串中返回字符,从右边开始 22 InStr(start,str1,str2) 返回str2在str1中第一次出现的位置,start表示开始搜索位置,为可选; 23 Lcase(str) 返回字符串的小写形式; 24 UCase(str) 返回字符串的大写形式; 25 split(separator) 分割字符串; 26 Date 返回当前日期; 27 Time 返回当前时间; 28 Now 返回日期和时间; 29 day(date) 返回日; 30 month(date) 返回月; 31 year(date) 返回年; 32 hour(time) 返回小时; 33 minute(time) 返回分钟; 34 second(time) 返回秒; 35 formatDateTime(date[,namedFormat]) 返回已格式化的时间 36 namedformat可选参数有: 37 vbGeneralDate (0) 38 vbLongDate (1) 39 vbShortDate (2) 40 vbLongTime (3) 41 vbShortTime (4)
六、异常处理
格式:
on error resume next ... err.Clear err.raise 6
对常见文件和数据库的访问:
1 set myobj = CreateObject("Scripting.fileSystemObject") 打开文本文件; 2 set myobj = CreateObject("Excel.Application") 访问Excel 3 Set myobj = CreateObject("Microsoft.XMLDOM") XML文件访问; 4 set myobj = CreateObject("ADODB.Recordset") acess数据库访问; 5 set myobj = CreateObject("ADODB.Connection") SQLServer数据库访问;
日期文字和时间文字包含在两个#之间,如:#6-1-99#
1 scripting.filesystemobject 提供一整套文件系统操作函数 2 scripting.dictionary 返回存放键值对的字典对象 3 wscript.shell 提供一套读取系统信息的函数 4 wscript.network 提供网络连接和远程打印机管理的函数