VBS教程:VBscript語句-If...Then...Else 語句
If...Then...Else 語句
根據(jù)表達(dá)式的值有條件地執(zhí)行一組語句。
If condition Then statements [Else elsestatements ]
或者,使用塊形式的語法:
If condition Then
[statements]
[ElseIf condition-n Then
[elseifstatements]] . . .
[Else
[elsestatements]]
End If
參數(shù)
condition
一個(gè)或多個(gè)下面兩種類型的表達(dá)式:
數(shù)值或字符串表達(dá)式,其運(yùn)算結(jié)果是 True 或 False。如果 condition 是 Null,則 condition 被視為 False。
形如 TypeOf objectname Is objecttype 的表達(dá)式。objectname 是任何對(duì)象的引用,而 objecttype 則是任何有效的對(duì)象類型。如果 objectname 是 objecttype 所指定的一種對(duì)象類型,則表達(dá)式為 True;否則為 False。
Statements
如果 condition 為 True 時(shí),執(zhí)行的一條或多條(以冒號(hào)分開)語句。
condition-n
同 condition。
elseifstatements
如果相關(guān)的 condition-n 為 True時(shí),執(zhí)行的一條或多條語句。
elsestatements
如果前面沒有 condition 或 condition-n 表達(dá)式為 True 時(shí),執(zhí)行的一條或多條語句。
說明
對(duì)于短小簡(jiǎn)單的測(cè)試,可以使用單行形式(第一種語法)。但塊形式(第二種語法)提供了比單行形式更強(qiáng)的結(jié)構(gòu)化與適應(yīng)性,比較容易閱讀、維護(hù)及調(diào)試。
注意 在單行語法中,可以執(zhí)行多條語句作為 If...Then 判斷的結(jié)果,但所有語句必須在同一行上并且以冒號(hào)分開,如下列語句所示:
If A > 10 Then A = A + 1 : B = B + A : C = C + B
當(dāng)程序運(yùn)行到 If 塊(第二種語法)時(shí),將測(cè)試 condition。如果 condition 是 True,則執(zhí)行 Then 之后的語句。如 condition 是 False,則每個(gè) ElseIf 部分的條件式(如果有的話)會(huì)依次計(jì)算并加以測(cè)試。當(dāng)找到某個(gè)為 True 的條件時(shí),則其相關(guān)的 Then 之后的語句會(huì)被執(zhí)行。如沒有一個(gè) ElseIf 語句是 True(或沒有 ElseIf 子句),則將執(zhí)行 Else 之后的語句。執(zhí)行 Then 或 Else 之后的語句以后,將繼續(xù)執(zhí)行 End If 之后的語句。
Else 和 ElseIf 子句都是可選項(xiàng)的。在 If 塊中可以放置任意多個(gè) ElseIf 子句,但是都必須在 Else 子句之前。If 塊語句可以被嵌套,即被包含在另一個(gè) If 塊語句之中。
要判斷某個(gè)語句是否是一個(gè) If 塊,可檢查 Then 關(guān)鍵字之后是什么。如果在 Then 的同一行之后還有其他非注釋的內(nèi)容,則此語句就是單行形式的 If 語句。
If 塊語句必須是某一行的第一條語句,并且必須以 End If 語句結(jié)束。
要在條件為 True 時(shí)運(yùn)行單行語句,可使用 If...Then...Else 語句的單行語法
下例示范了單行語法。請(qǐng)注意此例省略了關(guān)鍵字 Else
Dim myDate '定義一個(gè)變量
myDate = #2/13/95# '為變量賦值,時(shí)間:95-2-13
If myDate < Now Then myDate = Now '與當(dāng)前時(shí)間判斷大小,小則將當(dāng)前時(shí)間賦值MyDate
MsgBox myDate '輸出變量myDate的值,輸出為:95-2-13
要運(yùn)行多行代碼,必須使用多行(或塊)語法。多行(或塊)語法包含 End If 語句
下例示范了多行語法。如下所示:
Dim myDate '定義一個(gè)變量
myDate = #2/13/95# '為變量賦值,時(shí)間:95-2-13
If myDate < Now Then '與當(dāng)前時(shí)間判斷大小
myDate = Now‘小則將當(dāng)前時(shí)間賦值MyDate,并輸出重新賦值的myDate的值
MsgBox myDate '輸出為:95-2-13
End If
條件為 True 和 False 時(shí)分別運(yùn)行語句
可以使用 If...Then...Else 語句定義兩個(gè)可執(zhí)行語句塊:條件為 True 時(shí)運(yùn)行某一語句塊,條件為 False 時(shí)運(yùn)行另一語句塊。具體示例如下所示:
Dim myDate '定義一個(gè)變量
myDate = #2/13/2222# '為變量賦值,時(shí)間:2222-2-13
If myDate < Now Then '與當(dāng)前時(shí)間判斷大小
myDate = Now '小則將當(dāng)前時(shí)間賦值MyDate,并輸出重新賦值的myDate的值
MsgBox myDate
Else
MsgBox myDate '大則直接輸出myDate的值,輸出為:2222-2-13
End If
對(duì)多個(gè)條件進(jìn)行判斷
If...Then...Else 語句的一種變形允許您從多個(gè)條件中選擇,即添加 ElseIf 子句以擴(kuò)充 If...Then...Else 語句的功能,使您可以控制基于多種可能的程序流程。具體示例如下所示:
Dim value '定義一個(gè)變量
value = 10 '變量賦值為10
If value = 0 Then '判斷變量的值大小,如果相等則輸出變量值
MsgBox value
ElseIf value = 1 Then
MsgBox value
ElseIf value = 2 then
Msgbox value
Else
Msgbox "數(shù)值超出范圍!" '如過都不相等,則輸出”數(shù)值超出范圍!”
End If
可以添加任意多個(gè) ElseIf 子句以提供多種選擇。使用多個(gè) ElseIf 子句經(jīng)常會(huì)變得很累贅。在多個(gè)條件中進(jìn)行選擇的更好方法是使用 Select Case 語句。
相關(guān)文章
VBS實(shí)現(xiàn)將字符串寫入剪切板的實(shí)現(xiàn)代碼
VBS實(shí)現(xiàn)將字符串寫入剪切板的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2012-01-01
自定義vbs腳本實(shí)現(xiàn)開機(jī)后延時(shí)啟動(dòng)指定程序的方法
這篇文章主要介紹了自定義vbs腳本實(shí)現(xiàn)開機(jī)后延時(shí)啟動(dòng)指定程序的方法,本文以延遲啟動(dòng)金山毒霸為例,需要的朋友可以參考下2014-09-09
用VBS實(shí)現(xiàn)一個(gè)小鍵盤動(dòng)作CTRL+V粘貼操作與思路分析
我想實(shí)現(xiàn)當(dāng)有跳出窗口"請(qǐng)輸入"時(shí)的1.8秒后就發(fā)送一次 CTRL + V,把本來已經(jīng)復(fù)制到剪切版中的文字自動(dòng)粘貼過去呢2009-12-12
用vbs將輸出內(nèi)容寫到屏幕以覆蓋當(dāng)前屏幕上的內(nèi)容的方法
用vbs將輸出內(nèi)容寫到屏幕以覆蓋當(dāng)前屏幕上的內(nèi)容的方法...2007-03-03
TXT轉(zhuǎn)HTM、HTML「TXT轉(zhuǎn)網(wǎng)頁」的vbs實(shí)現(xiàn)代碼
試用過的Visual CHM,Power CHM,Easy CHM也非常令人失望??磥磉€是自給自足吧。本文介紹的方法不一定適用于所有用戶,看不懂的同學(xué)一律不要提問和請(qǐng)教2011-11-11
VBS基礎(chǔ)篇 - vbscript常用函數(shù)及功能
這篇文章主要介紹了VBS基礎(chǔ)篇 - vbscript常用函數(shù),需要的朋友可以參考下2018-06-06
VBS 強(qiáng)制關(guān)閉Symantec Endpoint Protection的代碼
很多企業(yè)電腦系統(tǒng)是Windows Xp,使用Windows server 2003 來控制,其中客戶端得殺毒軟件有不少是使用 Symantec Endpoint Protection2013-01-01
vbscript Split函數(shù)用法詳解(字符串轉(zhuǎn)數(shù)組函數(shù))
本文詳細(xì)介紹了vbscript中split函數(shù)的用法,有關(guān)split函數(shù)的一些實(shí)例,vbscript中split函數(shù)的語法介紹,有需要的朋友參考下2014-05-05

