發現大部分黑白的朋友都不會編程, 這可不是件好事, 所以這次我就寫了一個簡單的編程教程, 講一下VBScript. 主要面向菜鳥, 懂得編程的朋友就不要浪費時間了, 如果你想接觸以下VBScript也可以, 但既然有編程基礎推薦直接去找一些參考書來讀, 會比較快.
什么是VBScript呢? VBScript的全稱是:Microsoft Visual Basic Script Editon.(微軟公司可視化BASIC腳本版). 正如其字面所透露的信息, VBS(VBScript的進一步簡寫)是基于Visual Basic的腳本語言. 我進一步解釋一下, Microsoft Visual Basic是微軟公司出品的一套可視化編程工具, 語法基于Basic. 腳本語言, 就是不編譯成二進制文件, 直接由宿主(host)解釋源代碼并執行, 簡單點說就是你寫的程序不需要編譯成.exe, 而是直接給用戶發送.vbs的源程序, 用戶就能執行了.
我知道菜鳥現在最關心的就是用什么工具來開發VBS程序了, 答案是:記事本(Notepad).我不是開玩笑, 其實任何一種文本編輯器都可以用來開發VBS開發, 只不過記事本是由系統自帶的, 比較好找而已. 盡管如此, 我還是建議你去下載一個專業的文本編輯器, 因為這些工具可以提供 "語法高亮"等功能, 更加方便開發, 用哪一個隨你喜好, 我比較喜歡Edit Plus (2.10).
OK, 我們先來寫一個VBScript程序熱熱身.
REM 輸入并回顯你的名字
'使用InputBox和Msgbox函數
Dim name,msg
msg="請輸入你的名字:"
name=Inputbox(msg,"名稱")
Msgbox(name)
把上面的程序清單輸入到記事本里面, 然后保存為以.vbs為擴展名的文件("保存類型"里面選擇"所有文件").然后雙擊運行, 觀察運行結果. 注意:請自己輸入程序清單, 不要復制->粘貼!
我來解釋一下這個程序, 第一行和第二行的開頭分別是"REM"語句和" ' ", 這兩個東西的作用是相同的, 表示本行是注釋行, 就是說這兩行什么也不干,只是用來說明這段程序的功能, 版權信息等等. 注釋行是程序最重要的部分之一, 盡管它不是必需的, 但對于其他人閱讀源代碼, 以及自己分析源代碼是很有好處的. 好的習慣是在必要的地方加上清晰, 簡潔的注釋.
Dim用來聲明一個變量, 在VBS中, 變量類型并不是那么重要, 就是說VBS會幫你自動識別變量類型, 而且變量在使用前不一定要先聲明, 程序會動態分配變量空間. 在VBS中你不用考慮name儲存的是一個整數還是一個小數(學名叫"浮點數"), 也不用考慮是不是字符串(一串字符, 比如:"Hello World"), VBS會自動幫你搞定. 所以第三行語句可以刪除, 效果不會變, 但我強烈反對這么做, 一個變量的基本原則就是:先聲明,后使用.變量名用字母開頭,可以使用下劃線,數字, 但不能使用vbs已經定義的字, 比如dim, 也不能是純數字.
下一行被稱之為"賦值", "="是賦值符號, 并不是數學中的等于號, 盡管看起來一樣.這是正統的理解, 你要理解成等于也沒有什么不可. 賦值號的左邊是一個變量, 右邊是要賦給變量的值, 經過賦值以后, msg這個變量在程序中等同于"請輸入你的名字:"這個字符串,但當msg被再次復制的時候, 原值就會消失. 不光字符串, 其他任何變量都這樣被賦值, 例如: a=2, b=12.222等等.
再往下,Inputbox和Msgbox是VBS內建的函數, 一個函數就相當于一個"黑箱", 有輸入(參數)和輸出(返回值), 你可以不用了解函數是怎么運作的, 只要了解這個函數能干什么就行了, 我們也可以定義自己的函數, 不過那要等到以后再講. 現在我們只要了解, 一個函數可以有返回值也可以沒有, 可以有參數也可以沒有. 例如Inputbox就是有返回值的函數, 我們用賦值號左邊的變量來"接"住InputBox的返回值--就是你輸入的內容. 在inputbox右邊的括號里是參數列表, 每個參數用","分隔開, 每個參數有不同的功效, 比如第一個參數會顯示在提示里, 我們把msg這個變量作為第一個參數傳給了Inputbox 函數, 而msg="請輸入你的名字:", 所以我們在對話框的提示欄就會看到"請輸入你的名字:" 第二個參數是對話框的標題, 我們用直接量(學名叫"常量", 這里是"字符串常量")傳遞給函數, 當然你也可以傳遞變量. Inputbox還有很多參數, 比如你在"名稱"后面再加一個","然后輸入隨便一串字符(字符串,用雙引號""包裹起來的一串字符叫做字符串)然后運行, 看看結果. 你會發現用于輸入的文本框有了默認的值, 這就是第三個參數的作用.
Msgbox函數是用來輸出的函數, 在VBS中沒有專門的輸出函數(BASIC中的print,C中的printf), 所以我們只能用對話框來觀察輸出結果, Msgbox的必要參數只有一個, 就是要輸出的內容, 在這種情況下, 我們不需要理會msgbox的返回值. 關于Msgbox和Inputbox我們以后還會在討論, 今天只是熱熱身, 到此為止.
要點:
1) 注釋(以REM或'開頭)行在程序中不起作用, 但能讓別人更容易讀懂你的程序.
2) 變量好像一個盒子, 或一個代號, 可以代表你想代表的東西. 變量賦值使用"="
3) 以""包裹起來的字符稱之為"字符串"
4) 函數像一個"黑箱", 有參數和返回值, 用"="左邊的變量可以接住返回值
5) Inputbox函數彈出一個輸入對話框,Msgbox則用于輸出
作業:
1) 試驗Inputbox的第三個參數
2) 寫一段程序輸出你的年齡
3) 寫一段程序進行3次輸入, 分別輸入你和你父母的姓名(要求顯示提示), 并分3次輸出
這是第一節。