按鍵精靈 腳本-學(xué)習(xí)VBS的一個(gè)不錯(cuò)的教程
更新時(shí)間:2007年02月26日 00:00:00 作者:
現(xiàn)在看到很多朋友都不明白VBS,但我也沒(méi)有時(shí)間全部寫(xiě)完,所以一天寫(xiě)一些,邊寫(xiě)邊和大家交流,也希望有朋友能接著寫(xiě)或指出我的錯(cuò)誤。
今天我就從總體上對(duì)VBS進(jìn)行介紹,希望能給大家一個(gè)直觀的印象。另外,講解與按鍵官網(wǎng)的按鍵精靈教程(李?lèi)傊谱鳎┫嘟Y(jié)合,幫大家看懂這個(gè)東東。
一、概述
要讓計(jì)算機(jī)做事情就必須由人給它指令。原來(lái)的指令很復(fù)雜,都是些0011001之類(lèi)的東西,后來(lái)逐漸簡(jiǎn)化,指令也更接近于人類(lèi)的語(yǔ)言。VBS(Microsoft(R) Visual Basic(R) Scripting)也是高級(jí)語(yǔ)言的一種,和其他高級(jí)語(yǔ)言相比,它有簡(jiǎn)單易學(xué)的特點(diǎn),是電腦初學(xué)者涉足編程領(lǐng)域的良好入口。
如果說(shuō)從低級(jí)語(yǔ)言進(jìn)化到高級(jí)語(yǔ)言是人類(lèi)控制計(jì)算機(jī)的戰(zhàn)略問(wèn)題,那么具體的設(shè)置變量、循環(huán)就是控制計(jì)算機(jī)的具體戰(zhàn)術(shù)問(wèn)題。我們現(xiàn)在學(xué)習(xí)的也就是用VBS讓計(jì)算機(jī)為我們工作的戰(zhàn)術(shù)。
二、從最簡(jiǎn)單的東西入手。
網(wǎng)絡(luò)叫賣(mài)腳本:
vbs i
vbs i=10
while i>0
SayString 賣(mài)XXX,價(jià)格面議。
vbs i=i-1
delay 10000
endfor
看到這個(gè)腳本很多人就嗤之以鼻了,實(shí)現(xiàn)不斷叫賣(mài)的方法很多,有的比這個(gè)腳本簡(jiǎn)單幾倍。但隨著講解的進(jìn)行,我們會(huì)發(fā)覺(jué)VBS提供給我們的是一個(gè)強(qiáng)大的工具。下面先來(lái)這幾行都是什么意思。
vbs i //告訴計(jì)算機(jī)有個(gè)叫i的變量。
vbs i=10 //這個(gè)變量為10
while i>0 //當(dāng)這個(gè)變量大于0的時(shí)候就執(zhí)行下面直到看見(jiàn)第一個(gè)endfor的地方。
SayString 賣(mài)XXX,價(jià)格面議。 //按鍵語(yǔ)句:輸出文字
vbs i=i-1 //這個(gè)變量減去1,然后又把減1后的數(shù)作為i的值。
delay 10000 //按鍵語(yǔ)句:暫停10秒(10000毫秒)
endfor //回到while處
效果:叫賣(mài)10次后就結(jié)束。
現(xiàn)在我要花點(diǎn)力氣解釋一下為什么要折騰出這么多麻煩的東西。
變量的用處和重要性
其實(shí)這個(gè)程序完全可以寫(xiě)成
SayString 賣(mài)XXX,價(jià)格面議。
delay 10000
SayString 賣(mài)XXX,價(jià)格面議。
delay 10000
……重復(fù)N次
SayString 賣(mài)XXX,價(jià)格面議。
delay 10000
其實(shí)再?gòu)?fù)雜的程序段都能被還原成順序的程序,用很多復(fù)雜的東東不是為了顯示編程能力,而是為了給自己方便。
當(dāng)我們一直賣(mài)XXX的時(shí)候可能沒(méi)有什么感覺(jué),但當(dāng)我們賣(mài)YYY的時(shí)候呢?要全部改過(guò)嗎?或者我們要重復(fù)1000次,后來(lái)只重復(fù)500次了,難道要認(rèn)真地?cái)?shù)500下,然后刪除后面的嗎?當(dāng)然,我們編這個(gè)小程序改起來(lái)還比較愜意。但要提高發(fā)展就得做大程序,還必須要依靠我們的變量朋友。
變量其實(shí)是一個(gè)字符代號(hào),象你我的名字一樣,為的是把各個(gè)變量區(qū)別開(kāi)來(lái),讓他們分頭工作。為變量取名字的時(shí)候可以用數(shù)字、字符、和下劃線,但不可以用漢字、空格和其它奇奇怪怪的符號(hào),另外數(shù)字不能用于第一個(gè)字符。
在使用變量之前要先寫(xiě)一個(gè)象vbs i這樣的語(yǔ)句,意思是現(xiàn)在本人指派一變量,取名為i,參加到這個(gè)程序運(yùn)行中。其實(shí)你可以不用履行這樣的報(bào)名程序,直接在程序的某處使用i,但實(shí)踐證明這是一個(gè)不好的習(xí)慣,讓你寫(xiě)大程序的時(shí)候寸步難行。
然后vbs i=10則告訴程序,這個(gè)變量i現(xiàn)在的值為10,以后凡是用到i的地方,就相當(dāng)于是10在那里。比如vbs j=i+1其實(shí)就相當(dāng)于j=10+1,所以j的值為11。
變量的魅力不僅在于它可以代替數(shù)字,而且還可以代替字符,但和數(shù)字比起來(lái),字符有其特殊性。
比如:
vbs i="字符"
vbs j="串接"
vbs a=i & j
此時(shí)a就是字符串接。注意這里出現(xiàn)的兩個(gè)新符號(hào):"號(hào)和&符號(hào)??赡苡腥艘呀?jīng)猜出來(lái)他們的作用了。"號(hào)之間的內(nèi)容為字符。電腦對(duì)vbs i=10和vbs i="10"有著截然不容的理解。&號(hào)為字符串接號(hào)。如果a=j & i,那么a就是串接字符。
知道了變量的用法后,我們就可以把叫賣(mài)程序改得更有趣。比如我們想讓程序說(shuō)不同的話,先說(shuō)10次賣(mài)XXX,再說(shuō)10次賣(mài)YYY。那我們就可以寫(xiě)成:
vbs i
vbs i=10
while i>0
ifexpression i<=5
SayString 賣(mài)XXX,價(jià)格面議。
endif
ifexpression i>5
SayString 賣(mài)YYY,價(jià)格面議。
endif
vbs i=i-1
delay 10000
endfor
其實(shí)我們用了個(gè)編程的小技巧,就是用變量i的大小控制程序的走向。可見(jiàn)前5次賣(mài)YYY,后5次賣(mài)XXX。
或者我們先叫XXX一次,再叫YYY一次,然后重復(fù)前面的動(dòng)作:
vbs i
vbs i=10
while i>0
ifexpression i mod 2 = 0
SayString 賣(mài)XXX,價(jià)格面議。
endif
ifexpression i mod 2 = 1
SayString 賣(mài)YYY,價(jià)格面議。
endif
vbs i=i-1
delay 10000
endfor
這里也用了一個(gè)用i控制程序運(yùn)行的方法。mod是和+、-、*一樣的運(yùn)算符號(hào),作用是取余數(shù)。如10 mod 2 = 0的意思是10除以2,其余數(shù)是0。同樣9 mod 2 = 1,8 mod 2 = 0,7 mod 2 = 1,6 mod 2 = 0,5 mod 2 = 1……
哎呀,暫時(shí)寫(xiě)到這里。
其實(shí)這個(gè)腳本是按鍵精靈下的腳本,沒(méi)有寫(xiě)清楚,不好意思啊,如果想看vbs教程,建議下載一份 vbscript手冊(cè),然后看腳本之家的vbs欄目的前期發(fā)的文章。開(kāi)始的時(shí)候基礎(chǔ)發(fā)的多一些。
http://www.dhdzp.com/books/210.html
微軟官方的Vbscript參考手冊(cè)
一、概述
要讓計(jì)算機(jī)做事情就必須由人給它指令。原來(lái)的指令很復(fù)雜,都是些0011001之類(lèi)的東西,后來(lái)逐漸簡(jiǎn)化,指令也更接近于人類(lèi)的語(yǔ)言。VBS(Microsoft(R) Visual Basic(R) Scripting)也是高級(jí)語(yǔ)言的一種,和其他高級(jí)語(yǔ)言相比,它有簡(jiǎn)單易學(xué)的特點(diǎn),是電腦初學(xué)者涉足編程領(lǐng)域的良好入口。
如果說(shuō)從低級(jí)語(yǔ)言進(jìn)化到高級(jí)語(yǔ)言是人類(lèi)控制計(jì)算機(jī)的戰(zhàn)略問(wèn)題,那么具體的設(shè)置變量、循環(huán)就是控制計(jì)算機(jī)的具體戰(zhàn)術(shù)問(wèn)題。我們現(xiàn)在學(xué)習(xí)的也就是用VBS讓計(jì)算機(jī)為我們工作的戰(zhàn)術(shù)。
二、從最簡(jiǎn)單的東西入手。
網(wǎng)絡(luò)叫賣(mài)腳本:
vbs i
vbs i=10
while i>0
SayString 賣(mài)XXX,價(jià)格面議。
vbs i=i-1
delay 10000
endfor
看到這個(gè)腳本很多人就嗤之以鼻了,實(shí)現(xiàn)不斷叫賣(mài)的方法很多,有的比這個(gè)腳本簡(jiǎn)單幾倍。但隨著講解的進(jìn)行,我們會(huì)發(fā)覺(jué)VBS提供給我們的是一個(gè)強(qiáng)大的工具。下面先來(lái)這幾行都是什么意思。
vbs i //告訴計(jì)算機(jī)有個(gè)叫i的變量。
vbs i=10 //這個(gè)變量為10
while i>0 //當(dāng)這個(gè)變量大于0的時(shí)候就執(zhí)行下面直到看見(jiàn)第一個(gè)endfor的地方。
SayString 賣(mài)XXX,價(jià)格面議。 //按鍵語(yǔ)句:輸出文字
vbs i=i-1 //這個(gè)變量減去1,然后又把減1后的數(shù)作為i的值。
delay 10000 //按鍵語(yǔ)句:暫停10秒(10000毫秒)
endfor //回到while處
效果:叫賣(mài)10次后就結(jié)束。
現(xiàn)在我要花點(diǎn)力氣解釋一下為什么要折騰出這么多麻煩的東西。
變量的用處和重要性
其實(shí)這個(gè)程序完全可以寫(xiě)成
SayString 賣(mài)XXX,價(jià)格面議。
delay 10000
SayString 賣(mài)XXX,價(jià)格面議。
delay 10000
……重復(fù)N次
SayString 賣(mài)XXX,價(jià)格面議。
delay 10000
其實(shí)再?gòu)?fù)雜的程序段都能被還原成順序的程序,用很多復(fù)雜的東東不是為了顯示編程能力,而是為了給自己方便。
當(dāng)我們一直賣(mài)XXX的時(shí)候可能沒(méi)有什么感覺(jué),但當(dāng)我們賣(mài)YYY的時(shí)候呢?要全部改過(guò)嗎?或者我們要重復(fù)1000次,后來(lái)只重復(fù)500次了,難道要認(rèn)真地?cái)?shù)500下,然后刪除后面的嗎?當(dāng)然,我們編這個(gè)小程序改起來(lái)還比較愜意。但要提高發(fā)展就得做大程序,還必須要依靠我們的變量朋友。
變量其實(shí)是一個(gè)字符代號(hào),象你我的名字一樣,為的是把各個(gè)變量區(qū)別開(kāi)來(lái),讓他們分頭工作。為變量取名字的時(shí)候可以用數(shù)字、字符、和下劃線,但不可以用漢字、空格和其它奇奇怪怪的符號(hào),另外數(shù)字不能用于第一個(gè)字符。
在使用變量之前要先寫(xiě)一個(gè)象vbs i這樣的語(yǔ)句,意思是現(xiàn)在本人指派一變量,取名為i,參加到這個(gè)程序運(yùn)行中。其實(shí)你可以不用履行這樣的報(bào)名程序,直接在程序的某處使用i,但實(shí)踐證明這是一個(gè)不好的習(xí)慣,讓你寫(xiě)大程序的時(shí)候寸步難行。
然后vbs i=10則告訴程序,這個(gè)變量i現(xiàn)在的值為10,以后凡是用到i的地方,就相當(dāng)于是10在那里。比如vbs j=i+1其實(shí)就相當(dāng)于j=10+1,所以j的值為11。
變量的魅力不僅在于它可以代替數(shù)字,而且還可以代替字符,但和數(shù)字比起來(lái),字符有其特殊性。
比如:
vbs i="字符"
vbs j="串接"
vbs a=i & j
此時(shí)a就是字符串接。注意這里出現(xiàn)的兩個(gè)新符號(hào):"號(hào)和&符號(hào)??赡苡腥艘呀?jīng)猜出來(lái)他們的作用了。"號(hào)之間的內(nèi)容為字符。電腦對(duì)vbs i=10和vbs i="10"有著截然不容的理解。&號(hào)為字符串接號(hào)。如果a=j & i,那么a就是串接字符。
知道了變量的用法后,我們就可以把叫賣(mài)程序改得更有趣。比如我們想讓程序說(shuō)不同的話,先說(shuō)10次賣(mài)XXX,再說(shuō)10次賣(mài)YYY。那我們就可以寫(xiě)成:
vbs i
vbs i=10
while i>0
ifexpression i<=5
SayString 賣(mài)XXX,價(jià)格面議。
endif
ifexpression i>5
SayString 賣(mài)YYY,價(jià)格面議。
endif
vbs i=i-1
delay 10000
endfor
其實(shí)我們用了個(gè)編程的小技巧,就是用變量i的大小控制程序的走向。可見(jiàn)前5次賣(mài)YYY,后5次賣(mài)XXX。
或者我們先叫XXX一次,再叫YYY一次,然后重復(fù)前面的動(dòng)作:
vbs i
vbs i=10
while i>0
ifexpression i mod 2 = 0
SayString 賣(mài)XXX,價(jià)格面議。
endif
ifexpression i mod 2 = 1
SayString 賣(mài)YYY,價(jià)格面議。
endif
vbs i=i-1
delay 10000
endfor
這里也用了一個(gè)用i控制程序運(yùn)行的方法。mod是和+、-、*一樣的運(yùn)算符號(hào),作用是取余數(shù)。如10 mod 2 = 0的意思是10除以2,其余數(shù)是0。同樣9 mod 2 = 1,8 mod 2 = 0,7 mod 2 = 1,6 mod 2 = 0,5 mod 2 = 1……
哎呀,暫時(shí)寫(xiě)到這里。
其實(shí)這個(gè)腳本是按鍵精靈下的腳本,沒(méi)有寫(xiě)清楚,不好意思啊,如果想看vbs教程,建議下載一份 vbscript手冊(cè),然后看腳本之家的vbs欄目的前期發(fā)的文章。開(kāi)始的時(shí)候基礎(chǔ)發(fā)的多一些。
http://www.dhdzp.com/books/210.html
微軟官方的Vbscript參考手冊(cè)
相關(guān)文章
vbs實(shí)現(xiàn)的下拉框?qū)?yīng)鍵入值
vbs實(shí)現(xiàn)的下拉框?qū)?yīng)鍵入值...2007-03-03
vbs Windows系統(tǒng)改變或修改網(wǎng)卡的MAC地址的腳本與軟件
這個(gè)文件比程序本身還大,感覺(jué)不爽,于是本人的VBS版MAC修改代碼便誕生了,在使用過(guò)程中如果出現(xiàn)不能上網(wǎng)的情況得返回一下網(wǎng)卡驅(qū)動(dòng)(有些機(jī)器比較特別)2008-07-07
監(jiān)測(cè)windows主機(jī)網(wǎng)絡(luò)接口利用率的vbs代碼
這篇文章主要介紹了監(jiān)測(cè)windows主機(jī)網(wǎng)絡(luò)接口利用率的vbs代碼,不用任何軟件沒(méi)有安全隱患,學(xué)習(xí)vbs的朋友可以參考一下2019-10-10
用VBS模擬實(shí)現(xiàn)PHP的sha1_file函數(shù)效果代碼
用VBS模擬實(shí)現(xiàn)PHP的sha1_file函數(shù)效果代碼,需要的朋友可以參考下。2011-01-01

