VBS是基於Visual Basic的腳本語言,是一種windows腳本。VBS的全稱是:Microsoft Visual Basic Script Editon。
它編寫的腳本代碼不能編譯成二進制 文件,直接由windows系統執行。vbs語言不區分大小寫,語句以換行結束。
1. 兩個內建函數和 “Hello World!”程序編輯
Inputbox語法:Inputbox("對話框內容","對話框標題") eg:name=Inputbox("請輸入你的名字:","名稱") Msgbox語法:msgbox "對話框內容", , "對話框的標題" eg:msgbox "Hello World!" , , "系統提示"
2.初始VBS、常用的關鍵字
'初始VBS
'dim 聲明變量:批量名稱聲明,多個變量之間用逗號分隔
'rem 注釋, 同 '
'const 聲明常量;也可用Private或者Public來改變變量的公有和私有屬性;
'set 賦值
'常用的關鍵字
inputbox, msgbox, const, dim, rem,
3.流程控制語句---條件判斷
(1) if ...else 語句
'這段程序讓你輸入兩個值, 必須都大於10, 只要有一個不大於, 就輸出錯誤提示
dim a,b a=inputbox("輸入一個數 >10") b=inputbox("輸入另一個數 >10") a=int(a) b=int(b) if a>10 and b>10 then msgbox "正確" elseif a<=10 or b<=10 then
msgbox "至少有一個數不大於10"
else
msgbox "錯誤" end if
(2)select.. case的語法結構
dim a a=inputbox("輸入一個1--3的值") a=int(a) '處理inputbox返回字符串的問題 select case a 'a為變量名 case 1 '1為變量值 msgbox "壹" '語句 case 2 msgbox "貳" case 3 msgbox "叄" case else msgbox "輸入錯誤" end select 注:select 用於定值判斷
4.流程控制語句---循環結構
(1) do(until)……loop ,當程序執行到 do 之前,首先判斷 until 條件是否成立,如成立則不執行下面代碼,如不成立,則執行一遍,再判斷條件。在do..loop結構中還有一個語句:exit do, 這個語句將終止循環, 跳到loop后面的語句繼續執行。
dim input="",ctr '注意:常量不需要在dim里面聲明,否則會引發錯誤 ctr=0 '設置計數器 const pass="pas123_" '這是一個字符串 請用""包裹起來. 設定密碼為常量, 不可變更 do until input=pass input=inputbox("請輸入密碼") if ctr=3 then msgbox "已經達到認證上限, 認證程序關閉" exit do end if ctr = ctr + 1'注意:這一句是賦值句,要從右往左讀,即每出錯一次就把ctr加上1,然后再放回ctr里面,使得這個常量加1 loop msgbox "成功"
要在do...loop加上驗證的功能,也可以用while,while可以放在do或者是loop后面, 然后再接一個表達式, 當表達式的值為true的時候(表達式成立),才運行循環體
dim a,ctr ctr=0 const pass="pas123_" do while ctr<3 a=inputbox("請輸入密碼") if a=pass then msgbox "認證成功" msgbox "(你可以在這里加一段成功后得到的信息)" exit do else ctr=ctr+1 '如果密碼出錯就增加一次錯誤認證計數 msgbox "認證出錯, 請檢查密碼" end if loop
(2) for....next, 這種循環結構是基於計數的
dim i,j
for i=1 to 9 for j=1 to 9 str=str & i * j & " " '&是和並字符串的符號 next '每個next對應一個for
str=str & vbCrlf 'vbCrlf相當於鍵盤上的回車鍵,因為你不能在鍵盤上輸入,所以系統定義了一個默認的常量 next msgbox (str)
這次運行完成以后, 輸出結果按照乘數進行了分割, 每小for運行完一次, 就換一行(通過vbcrlf, vbCrLf相當於鍵盤上的回車鍵).
5.子程序(過程)與函數(將sub替換成function)
區別:sub無返回值,function有返回值
Dim yname yname=inputbox("請輸入你的名字:") who(yname) sub who(yname) 'who為子程序名或函數名,()中為參數列表,用逗號隔開 msgbox "你好" + yname '&和+ 都可以用來拼接字符串 msgbox "感謝你閱讀我的課程" msgbox "這是基礎部分的最后一課" end sub