初探VBScript
初探VBScript
作者:尹正杰
版權(quán)聲明:原創(chuàng)作品,謝絕轉(zhuǎn)載!否則將追究法律責(zé)任。
?
一.VBScript簡(jiǎn)介?
? ? VBScript ,Visual Basic Script的簡(jiǎn)稱,是微軟公司出品的腳本語(yǔ)言,有時(shí)也被縮寫為VBS。VBScript是asp動(dòng)態(tài)網(wǎng)頁(yè)默認(rèn)的編程語(yǔ)言,配合asp內(nèi)建對(duì)象和ADO對(duì)象,用戶很快就能掌握訪問(wèn)數(shù)據(jù)庫(kù)的asp動(dòng)態(tài)網(wǎng)頁(yè)開發(fā)技術(shù)。
VBScript[2]是微軟開發(fā)的一種解析型的服務(wù)端(也支持客戶端)腳本語(yǔ)言,可以看作是VB語(yǔ)言的簡(jiǎn)化版,與VBA的關(guān)系也非常密切。它具有原語(yǔ)言容易學(xué)習(xí)的特性。目前這種語(yǔ)言廣泛應(yīng)用于網(wǎng)頁(yè)和ASP程序制作,同時(shí)還可以直接作為一個(gè)可執(zhí)行程序。用于調(diào)試簡(jiǎn)單的VB語(yǔ)句非常方便。
由于VBScript可以通過(guò)Windows腳本宿主調(diào)用COM,因而可以使用Windows操作系統(tǒng)中可以被使用的程序庫(kù),比如它可以使用Microsoft Office的庫(kù),尤其是使用MicrosoftAccess和Microsoft SQL Server的程序庫(kù),當(dāng)然它也可以使用其它程序和操作系統(tǒng)本身的庫(kù)。
?
二.VBS的編輯工具
所謂:工欲善其事,必先利其器,所以在這里我給小伙伴們推薦2款學(xué)習(xí)VBScript不錯(cuò)的編輯工具,他們分別是VbsEdit與EditPlus,大家可以百度上DOWNLOAD一個(gè)即可,可以根據(jù)你的風(fēng)格來(lái)選擇適合你自己的軟件,我個(gè)人比較喜歡后者,因?yàn)楹笳咧С植粌H僅有VBScript這個(gè)腳本語(yǔ)言呢,話不多說(shuō),您看自己下載體驗(yàn)一下。
?
三.VBS的參考文檔
1.《Windows 腳本技術(shù) 》,這個(gè)是微軟官方發(fā)布的也是最權(quán)威的;
2.《VBScript程序員參考手冊(cè)》,這是一個(gè)電子版本的,如果對(duì)VBS很執(zhí)著的人建議購(gòu)買一本書,因?yàn)橛兄形姆g喲!
3.MSDN Library,可以借助瀏覽器進(jìn)行翻譯喲~
4.Google + baidu,利用好搜索工具,2個(gè)軟件都要配合搜索,因?yàn)橛械拇笊癫┛蛯懙膶賹?shí)很哇塞哦~
?
四.VBS數(shù)據(jù)類型
對(duì)于vbs來(lái)說(shuō),VBS只有一種數(shù)據(jù)類型,即可變類型,稱為 Variant。
?
五.VBS變量的定義
1.變量:
變量是一種使用方便的占位符,用于引用計(jì)算機(jī)內(nèi)存地址,該地址可以存儲(chǔ)腳本運(yùn)行時(shí)可更改的程序信息。
2.變量的聲明:
聲明變量的一種方式是使用 Dim 語(yǔ)句、Public 語(yǔ)句和 Private 語(yǔ)句在腳本中顯式聲明變量。
3.命名規(guī)則:(變量命名必須遵循 VBScript 的標(biāo)準(zhǔn)命名規(guī)則。變量命名必須遵循:)
1>.?字符必須是字母開頭,由字母、數(shù)字和下劃線組成;
2>.?長(zhǎng)度不能超過(guò) 255 個(gè)字符;
3>.在被聲明的作用域內(nèi)必須唯一;
4>.不能為關(guān)鍵字;
4.VBS變量名稱取法
匈牙利命名法:
匈牙利命名法是一種編程時(shí)的命名規(guī)范。基本原則是:變量名=類型+對(duì)象描述。命名要基于容易記憶容易理解的原則。保證名字的連貫性是非常重要的。
?
六.常用數(shù)據(jù)類型縮寫:
例如:
1>.文件路徑:strPath
2>.文件大小:intSize
3>.幾何面積:lngArea
4>.FSO對(duì)象:objFSO
?
七.Option Explicit語(yǔ)句
變量顯示定義與隱式定義區(qū)別 :
我們?cè)诙x一個(gè)變量的時(shí)候一般要用dim去制定一個(gè)變量名,然后再去給這個(gè)變量賦值,這個(gè)過(guò)程就叫做顯示定義;但是我們也可以不用dim去先聲明一個(gè)變量,我們可以直接給變量去賦值,這種方法叫做隱式定義。兩者的區(qū)別就是一個(gè)是需要聲明變量一個(gè)不需要聲明變量,建議用顯示定義方法。
Option Explicit語(yǔ)句說(shuō)直白了就是一個(gè)報(bào)錯(cuò)功能輸出信息的提示,我們只需要在文件開頭的頂部輸出這一行代碼,那么你的批處理文件(vbs腳本)在運(yùn)行出錯(cuò)的時(shí)候會(huì)輸出報(bào)錯(cuò)信息,不然的話即使你的腳本出錯(cuò)了,也沒(méi)有任何報(bào)錯(cuò)提示,而是一個(gè)空白對(duì)話框而已。
?
八.VBS的數(shù)組
說(shuō)道數(shù)組還是蠻有意思的,有時(shí)候,將多個(gè)相關(guān)值賦給一個(gè)變量更為方便,因此可以創(chuàng)建包含一系列值的變量,稱為數(shù)組變量。下例聲明了一個(gè)包含4個(gè)元素的一維數(shù)組:?
1 Option Explicit 2 Dim num(3) 3 '雖然括號(hào)中顯示的數(shù)字是 3,但由于在 VBScript 中所有數(shù)組都是基于 0 的,所以這個(gè)數(shù)組實(shí)際上包含 4 個(gè)元素。在基于 0 的數(shù)組中,數(shù)組元素的數(shù)目總是括號(hào)中顯示的數(shù)目加 1。這種數(shù)組被稱為固定大小的數(shù)組。 4 '在數(shù)組中使用索引為數(shù)組的每個(gè)元素賦值。從0到3,將數(shù)據(jù)賦給數(shù)組的元素,如下所示: 5 num(0) = 1 6 num(1) = 2 7 num(2) = 3 8 num(3) = 4 9 MsgBox num(0) 10 MsgBox num(1) 11 MsgBox num(2) 12 MsgBox num(3) 初級(jí)數(shù)組用法展示? 多維數(shù)組:數(shù)組并不僅限于一維。數(shù)組的維數(shù)最大可以為 60(盡管大多數(shù)人不能理解超過(guò) 3 或 4 的維數(shù))。聲明多維數(shù)組時(shí)用逗號(hào)分隔括號(hào)中每個(gè)表示數(shù)組大小的數(shù)字。
1 Option Explicit 2 Dim num(3,3) '從左往右依次是一維數(shù)組和二維數(shù)組,我們可以簡(jiǎn)單的理解成上小學(xué)的時(shí)候?qū)W數(shù)學(xué)的x,y軸對(duì)應(yīng)的坐標(biāo)。 3 num(0,1) = 100 4 num(1,2) = 200 5 num(2,3) = 300 6 num(3,0) = 400 7 MsgBox num(0,1) 8 MsgBox num(1,2) 9 MsgBox num(2,3) 10 MsgBox num(3,0) 二維數(shù)組用法展示動(dòng)態(tài)數(shù)組:即在運(yùn)行腳本時(shí)大小發(fā)生變化的數(shù)組 。對(duì)數(shù)組的最初聲明使用 Dim 語(yǔ)句或 ReDim 語(yǔ)句。但是對(duì)于動(dòng)態(tài)數(shù)組,括號(hào)中不包含任何數(shù)字。
1 Option Explicit 2 Dim back_path(),i,str,j 3 i = 0 4 str = "" '表示將“str”定義為字符串類型. 5 6 While str<>"q" '表示當(dāng)你輸出"q"就退出當(dāng)前循環(huán),這個(gè)退出標(biāo)識(shí)符可以自定義,不一定要跟我設(shè)置的一樣喲! 7 ReDim Preserve back_path(i) '保留原數(shù)據(jù)不變,重新定義數(shù)組 8 back_path(i) = InputBox("請(qǐng)輸出您想備份的路徑>>>:") 9 str = back_path(i) 10 i = i + 1 11 Wend 12 13 For j = 0 To i 14 MsgBox back_path(j) 15 Next 多維數(shù)組用法展示?
九.常量
常量:常數(shù)是具有一定含義的名稱,用于代替數(shù)字或字符串,其值從不改變。(最好采用一個(gè)命名方案以區(qū)分常數(shù)和變量。這樣可以避免在運(yùn)行腳本時(shí)對(duì)常數(shù)重新賦值。例如,可以使用“vb”或“con”作常數(shù)名的前綴,或?qū)⒊?shù)名的所有字母大寫。將常數(shù)和變量區(qū)分開可以在開發(fā)復(fù)雜的腳本時(shí)避免混亂。)
1 Option Explicit 2 3 Rem 以下是定義一個(gè)常量 4 Const PI = 3.1415926 5 6 Rem 什么一個(gè)變量 7 Dim sum 8 9 Rem 表示計(jì)算sum的值 10 sum = 100 * 100* PI 11 12 MsgBox sum '打印這個(gè)sum的值 13 14 15 16 '友情提示: 17 ' 不建議用"Rem"進(jìn)行注釋,而是建議用" ' "進(jìn)行注釋 常量的用法展示以及2種注釋展示?
十.VBS的常用函數(shù)展示
請(qǐng)參考:http://www.cnblogs.com/yinzhengjie/p/6594356.html
?
十一.基本的流程控制語(yǔ)句
1.分支結(jié)構(gòu)if..then..else..
1 Dim num_1,num_2,response 2 num_1 = InputBox("請(qǐng)輸入一個(gè)數(shù)字>>>:") '要求用戶輸出一個(gè)字符串?dāng)?shù)字 3 num_2 = InputBox("請(qǐng)?jiān)佥斎胍粋€(gè)數(shù)字>>>:") 4 num_1 = cint(num_1) '將字符串轉(zhuǎn)換成數(shù)字 5 num_2 = cint(num_2) 6 If num_1 > num_2 Then MsgBox num_1 & "大于" & num_2 Else MsgBox num_1 & "小于" & num_2 '比較2個(gè)數(shù)字的大小,其中這個(gè)"&"表示拼接的意思喲 單行寫法展示 1 Dim num_1,num_2,response 2 num_1 = InputBox("請(qǐng)輸入一個(gè)數(shù)字>>>:") '要求用戶輸出一個(gè)字符串?dāng)?shù)字 3 num_2 = InputBox("請(qǐng)?jiān)佥斎胍粋€(gè)數(shù)字>>>:") 4 num_1 = cint(num_1) '將字符串轉(zhuǎn)換成數(shù)字 5 num_2 = cint(num_2) 6 If num_1 > num_2 Then '定義num_1 > num_2需要執(zhí)行的代碼 7 MsgBox num_1 & "大于" & num_2 8 ElseIf num_1 = num_2 Then '定義num_1 = num_2需要執(zhí)行的代碼 9 MsgBox num_1 & "等于" & num_2 10 Else '定義如果上面2個(gè)條件都不滿足的情況下需要執(zhí)行的代碼 11 MsgBox num_1 & "小于" & num_2 12 End If '多行寫法需要寫一個(gè)結(jié)束標(biāo)識(shí)符。 多行寫法展示 1 Dim num_1,num_2,response 2 num_1 = _ 3 InputBox("請(qǐng)輸入一個(gè)數(shù)字>>>:") '其中上面的"_"表示續(xù)行符號(hào),續(xù)行符后面就不能再輸入其他的字符了,一般用是為了方便觀看你的代碼 4 num_2 = _ 5 InputBox("請(qǐng)?jiān)佥斎胍粋€(gè)數(shù)字>>>:") 6 num_1 = cint(num_1) 7 num_2 = cint(num_2) 8 If num_1 > num_2 Then MsgBox num_1 & "大于" & num_2 : MsgBox "您輸入的第一個(gè)數(shù)字比第二個(gè)數(shù)字大" Else MsgBox num_1 & "不大于" & num_2 '這里主要講了":"的用法,將2個(gè)msgbox函數(shù)寫成同一行。 續(xù)行符與“:”的應(yīng)用展示2.分支結(jié)構(gòu)select case
1 Dim num 2 num = InputBox("請(qǐng)你輸入一個(gè)數(shù)字>>>:") 3 num = cint(num) 4 Select Case num '語(yǔ)句開始 5 Case 100 6 MsgBox "恭喜您中了三等獎(jiǎng)" 7 Case 200 8 MsgBox "恭喜您中了二等獎(jiǎng)" 9 Case 300 10 MsgBox "恭喜您中了一等獎(jiǎng)" 11 Case Else 12 MsgBox "您獲得了陽(yáng)光普照獎(jiǎng)" 13 End Select '語(yǔ)句結(jié)束 Select Case 用法展示 1 Dim num 2 num = InputBox("您猜猜我今年多大>>>:") 3 num = cint(num) 4 Select Case True '讓這個(gè)為真,那么就可以在下面做一個(gè)條件判斷了 5 Case num > 25 6 MsgBox "喲喲喲,小姐姐你猜大了哦" 7 Case num = 25 8 MsgBox "恭喜您猜對(duì)了" 9 Case num < 25 10 MsgBox "喲喲喲,小姐姐你猜小了哦" 11 Case Else 12 MsgBox "您獲得了陽(yáng)光普照獎(jiǎng)" 13 End Select Select Case高級(jí)用法展示?3.循環(huán)結(jié)構(gòu)for…next
1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 For i = 0 To 10 Step 2 '指定步長(zhǎng)為2,如果不設(shè)置步長(zhǎng)“Step 2”的話默認(rèn)步長(zhǎng)為“1” 8 MsgBox "i = " & i 9 next For 正序用法展示 1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 For i = 10 To 0 Step -2 '指定步長(zhǎng)為-2,表示每次循環(huán)自減去“2” 8 MsgBox "i = " & i 9 next for 倒序用法展示 1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 For i = 1 To 10 8 MsgBox "i = " & i 9 If i = 8 Then Exit For '表示當(dāng)i=8時(shí)退出For循環(huán) 10 next For的中斷用法展示 1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i,j,k 7 For i = 1 To 2 8 For j = 3 To 4 9 For k = 5 To 6 10 MsgBox i:MsgBox j:MsgBox k 11 Next 12 Next 13 Next For的嵌套用法 1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 For i =0 To 1 Step 0 '讓步長(zhǎng)為0,就無(wú)法到達(dá)下一個(gè)數(shù)字進(jìn)行循環(huán),當(dāng)i=0時(shí)一直會(huì)執(zhí)行以下代碼,即條件為真就好 8 MsgBox "這是一個(gè)死循環(huán)" 9 Next 如何寫一個(gè)死循環(huán)呢?4.循環(huán)結(jié)構(gòu)while…wend
1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 i = 0 8 While i < 10 '循環(huán)開始 9 i = i + 1 10 MsgBox "i = " & i 11 12 Wend '循環(huán)結(jié)束 While初級(jí)用法 1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 '完美來(lái)寫一個(gè)猜測(cè)年齡的小程序吧 7 Dim num,i 8 While i < 2 9 num = InputBox("給你三次機(jī)會(huì)猜猜我今年多大>>>:") 10 num = cint(num) 11 Select Case True 12 Case num > 25 13 MsgBox "喲喲喲,小姐姐你猜大了哦" 14 i = i + 1 15 Case num = 25 16 MsgBox "恭喜您猜對(duì)了" 17 Alert num 18 Case num < 25 19 MsgBox "喲喲喲,小姐姐你猜小了哦" 20 i = i + 1 21 Case Else 22 MsgBox "您獲得了陽(yáng)光普照獎(jiǎng)" 23 i = i + 1 24 End Select 25 Wend while用法案例5.循環(huán)結(jié)構(gòu)do…loop
1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 i = 0 8 Do While i < 10 9 MsgBox "i = " & i 10 i = i + 1 11 loop Do While ...loop用法展示 1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 i = 0 8 Do Until i >= 10 '等效于while i <10,表示直到i >= 10 不執(zhí)行以下的代碼 9 MsgBox "i = " & i 10 i = i + 1 11 Loop Do Until...Loop用法展示 1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 i = 0 8 Do Until i >= 10 '等效于while i <10,表示直到i >= 10 不執(zhí)行以下的代碼 9 MsgBox "i = " & i 10 i = i + 1 11 If i > 3 Then 12 Exit Do '退出循環(huán) 13 End If 14 Loop 退出循環(huán)展示 1 Option Explicit 2 '@author :yinzhengjie 3 'blog:http://www.cnblogs.com/yinzhengjie/tag/VBScript/ 4 'EMAIL:y1053419035@qq.com 5 6 Dim i 7 i = 0 8 Do while True 9 MsgBox "這是一個(gè)死循環(huán)" 10 Loop 如何寫一個(gè)死循環(huán)?
總結(jié)
以上是生活随笔為你收集整理的初探VBScript的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关于在VC + + 2008 VCRed
- 下一篇: To B业务与To C业务(产品),用户