一、初識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","傻逼") '第一引數為顯示語句,最大長度為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 提供網路連線和遠端印表機管理的函式