- VBScript 教程
- VBScript - 首頁
- VBScript - 概述
- VBScript - 語法
- VBScript - 啟用
- VBScript - 位置
- VBScript - 變數
- VBScript - 常量
- VBScript - 運算子
- VBScript - 決策
- VBScript - 迴圈
- VBScript - 事件
- VBScript - Cookie
- VBScript - 數字
- VBScript - 字串
- VBScript - 陣列
- VBScript - 日期
- VBScript 高階
- VBScript - 過程
- VBScript - 對話方塊
- VBScript - 面向物件
- VBScript - 正則表示式
- VBScript - 錯誤處理
- VBScript - 雜項語句
- VBScript 有用資源
- VBScript - 問答
- VBScript - 快速指南
- VBScript - 有用資源
- VBScript - 討論
VBScript 雜項語句
VBScript 還有一些其他重要的語句,可以幫助開發人員開發高效的指令碼。下表列出了一些這樣的重要語句。本章將詳細討論這些語句並舉例說明。
| 類別 | 函式名稱/語句名稱 |
|---|---|
| 選項 | Option Explicit |
| 指令碼引擎 ID | ScriptEngine |
| 變體 | IsArray, IsEmpty, IsNull, IsNumeric, IsObject, TypeName |
| 表示式 | Eval, Execute |
| 控制語句 | With...End With |
| 數學函式 | Randomize |
Option Explicit
Option Explicit 強制開發人員在程式碼的某些部分使用Dim語句宣告變數。
語法
Option Explicit
示例
如果我們使用Option Explicit並且沒有宣告變數,則直譯器將丟擲錯誤。
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Option Explicit
Dim x,y,z,a
x = 10
y = 20
z = fnadd(x,y)
a = fnmultiply(x,y)
Function fnadd(x,y)
fnadd = x+y
End Function
</script>
</body>
</html>
ScriptEngine
ScriptEngine 表示正在使用的指令碼語言的詳細資訊。它也與ScriptEngineMajorVersion、ScriptEngineMinor Version、ScriptEngineBuildVersion一起使用,分別提供 VBScript 引擎的主版本、次版本和內部版本。
語法
ScriptEngine
示例
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim scriptdetails
scriptdetails = " Version " & ScriptEngine & " - "
'For getting Major version, use ScriptEngineMajorVersion'
scriptdetails = scriptdetails & ScriptEngineMajorVersion & "."
'For getting Minor version, use ScriptEngineMinorVersion'
scriptdetails = scriptdetails & ScriptEngineMinorVersion & "."
'For getting Build version, use ScriptEngineBuildVersion'
scriptdetails = scriptdetails & ScriptEngineBuildVersion
Document.write scriptdetails
</script>
</body>
</html>
將檔案儲存為 .html 副檔名,在 IE 中執行指令碼後,螢幕上將顯示以下結果。
Version VBScript - 5.8.16996
IsEmpty
IsEmpty 函式用於檢查表示式是否為空。它返回一個布林值。如果變數未初始化或顯式設定為 Empty,則IsEmpty 返回 True。否則,表示式返回 False。
語法
IsEmpty(expression)
示例
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim var, MyCheck
MyCheck = IsEmpty(var)
Document.write "Line 1 : " & MyCheck & "<br />"
var = Null ' Assign Null.
MyCheck = IsEmpty(var)
Document.write "Line 2 : " & MyCheck & "<br />"
var = Empty ' Assign Empty.
MyCheck = IsEmpty(var)
Document.write "Line 3 : " & MyCheck & "<br />"
</script>
</body>
</html>
將檔案儲存為 .html 副檔名,在 IE 中執行指令碼後,螢幕上將顯示以下結果。
Line 1 : True Line 2 : False Line 3 : True
IsNull
IsNull 函式用於檢查表示式是否具有有效資料。它返回一個布林值。如果變數為 Null,則IsNull 返回 True;否則,表示式返回 False。
語法
IsNull(expression)
示例
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim var, res
res = IsNull(var)
document.write "Line 1 : " & res & "<br />"
var = Null
res = IsNull(var)
document.write "Line 2 : " & res & "<br />"
var = Empty
res = IsNull(var)
document.write "Line 3 : " & res & "<br />"
</script>
</body>
</html>
將檔案儲存為 .html 副檔名,在 IE 中執行指令碼後,螢幕上將顯示以下結果。
Line 1 : False Line 2 : True Line 3 : False
IsObject
IsObject 函式用於檢查表示式是否具有有效的物件。它返回一個布林值。如果表示式包含物件子型別,則IsObject 返回 True;否則,表示式返回 False。
語法
IsObject(expression)
示例
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim fso,b
b = 10
set fso = createobject("Scripting.Filesystemobject")
x = isobject(fso)
Document.write "Line 1 : " & x & "<br />"
y = isobject(b)
Document.write "Line 2 : " & y & "<br />"
</script>
</body>
</html>
將檔案儲存為 .html 副檔名,在 IE 中執行指令碼後,螢幕上將顯示以下結果。
Line 1 : True Line 2 : False
IsNumeric
IsNumeric 函式用於檢查表示式是否具有數字子型別。它返回一個布林值。如果表示式包含數字子型別,則IsObject 返回 True;否則,表示式返回 False。
語法
IsNumeric(expression)
示例
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim var, chk
var = 20
chk = IsNumeric(var)
Document.write "Line 1 : " & chk & "<br />"
var = "3.1415935745"
chk = IsNumeric(var)
Document.write "Line 2 : " & chk & "<br / >"
var = "20 Chapter 23.123 VBScript"
chk = IsNumeric(var)
Document.write "Line 3 : " & chk & "<br / >"
</script>
</body>
</html>
將檔案儲存為 .html 副檔名,在 IE 中執行指令碼後,螢幕上將顯示以下結果。
Line 1 : True Line 2 : True Line 3 : False
TypeName
TypeName 函式用於返回變數的變體子型別資訊。
語法
TypeName(varname)
TypeName 函式可以返回以下任何值:
Byte - 位元組值
Integer - 整數值
Long - 長整數值
Single - 單精度浮點值
Double - 雙精度浮點值
Currency - 貨幣值
Decimal - 十進位制值
Date - 日期或時間值
String - 字串值
Boolean - 布林值
Empty - 未初始化的值
Null - 無效資料
Object - 物件的型別名稱
Nothing - 尚未引用物件例項的物件變數
錯誤
示例
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim ArrVar(2), vartype
NullVar = Null ' Assign Null value.
vartype = TypeName(3.1450)
Document.write "Line 1 : " & vartype & "<br />"
vartype = TypeName(432)
Document.write "Line 2 : " & vartype & "<br />"
vartype = TypeName("Microsoft")
Document.write "Line 3 : " & vartype & "<br />"
vartype = TypeName(NullVar)
Document.write "Line 4 : " & vartype & "< br />"
vartype = TypeName(ArrVar)
Document.write "Line 5 : " & vartype & "<br />"
</script>
</body>
</html>
將檔案儲存為 .html 副檔名,在 IE 中執行指令碼後,螢幕上將顯示以下結果。
Line 1 : Double Line 2 : Integer Line 3 : String Line 4 : Null Line 5 : Variant()
Eval
Eval 函式執行表示式並將其結果作為字串或數字返回。
語法
Eval(expression)
引數 Expression 可以是字串表示式或數字。如果將不包含數字表達式或函式名稱,而只包含簡單文字字串的字串傳遞給 Eval 函式,則會發生執行時錯誤。例如,Eval("VBScript") 會導致錯誤。
示例
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Document.write Eval("10 + 10") & "<br />"
Document.write Eval("101 = 200") & "<br />"
Document.write Eval("5 * 3") & "<br />"
</script>
</body>
</html>
將檔案儲存為 .html 副檔名,在 IE 中執行指令碼後,螢幕上將顯示以下結果。
20 false 15
Execute
Execute 語句接受一個引數,該引數是一個字串表示式,其中包含一個或多個要執行的語句。
語法
Execute(expression)
在 VBScript 中,a = b 可以解釋為兩種方式。它可以被視為賦值語句,其中 x 的值被賦值給 y。它也可以被解釋為一個表示式,用於測試 a 和 b 是否具有相同的值。如果相同,則結果為 True;如果不相同,則結果為 False。Execute 語句始終使用第一種解釋,而 Eval 語句始終使用第二種解釋。
示例
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim x
x = "Global"
y = "VBScript"
Execute("x = y")
msgbox x
msgbox y
</script>
</body>
</html>
將檔案儲存為 .html 副檔名,在 IE 中執行指令碼後,螢幕上將顯示以下結果。
VBScript VBScript
With..End With
With 語句允許我們對指定的物件執行一系列操作,而無需反覆明確提及物件名稱。
語法
With (objectname) statement 1 statement 2 statement 3 ... ... statement n End With
示例
執行以下指令碼後,將開啟 Winword 並輸入指定的文字。
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Msg = "Vbscript" & vbCrLf & "Programming"
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
' Objects methods are accessed without requaliyfying the objects again.'
With objWord
.Documents.Add
.Selection.TypeText Msg
.Selection.WholeStory
End With
</script>
</body>
</html>
Randomize
Randomize 語句初始化隨機數生成器,這有助於開發人員生成隨機數。
語法
Randomize [number]
示例
執行以下指令碼後,將開啟 Winword 並輸入指定的文字。
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim MyValue
Randomize
MyValue = Int((100 * Rnd) + 1) ' Generate random value between 1 and 100.
MsgBox MyValue
</script>
</body>
</html>
將上述指令碼儲存為 HTML,並在 IE 中執行指令碼後,將顯示以下輸出。
42