我們一般都是在重復(fù)使用一些功能的時(shí)候,例如循環(huán)輸出內(nèi)容、分頁的時(shí)候都會(huì)使用過程函數(shù)
Sub過程
Sub 過程是包含在 Sub 和 End Sub 語句之間的一組 VBScript 語句。如果 Sub 過程無任何參數(shù),則 Sub 語句必須包含空括號 ()。
實(shí)例代碼如下:
Call GetName() '調(diào)用Sub過程
Sub GetName()
MsgBox "我是腳本之家" '輸出字符串
End Sub
Sub 過程可以使用參數(shù)(由調(diào)用過程傳遞的常數(shù)、變量或表達(dá)式)。實(shí)例代碼如下:
Call GetName("我是腳本之家") '調(diào)用Sub
Sub GetName(name)
MsgBox name '輸出字符串
End Sub
Sub過程是沒有返回值的哦!不然運(yùn)行報(bào)錯(cuò)誤的哦?。?!實(shí)例代碼如下:
getName "腳本之家" '調(diào)用過程
Sub getName(name)
getName = name '設(shè)置返回值
End Sub
運(yùn)行上面的腳本,將會(huì)出現(xiàn)下圖所示的錯(cuò)誤哦,請一定注意過程是不可以有返回值的
![](/d/20211017/66189a0d523e9d4029e63d6db0ef259b.gif)
Function 過程
Function 過程是包含在 Function 和 End Function 語句之間的一組 VBScript 語句。Function 過程與 Sub 過程類似,如果 Function 過程無任何參數(shù),則 Function 語句必須包含空括號 ()。實(shí)例代碼如下:
Call GetName() '調(diào)用Function
Function GetName()
MsgBox "這里是腳本之家" '輸出字符串
End Function
Function 過程可以使用參數(shù)(由調(diào)用過程傳遞的常數(shù)、變量或表達(dá)式)。實(shí)例代碼如下:
Call GetName("這里是腳本之家") '調(diào)用Function
Function GetName(name)
MsgBox name '輸出字符串
End Function
Function 是有返回值的,通過函數(shù)名返回一個(gè)值,這個(gè)值是在過程的語句中賦給函數(shù)名的。Function 返回值的數(shù)據(jù)類型總是Variant。實(shí)例代碼如下:
getName "這里是腳本之家" '調(diào)用Function
Function getName(name)
getName = name '設(shè)置返回值
End Function
如何調(diào)用過程
調(diào)用 Function 過程時(shí),函數(shù)名必須用在變量賦值語句的右端或表達(dá)式中。
調(diào)用 Sub 過程時(shí),只需輸入過程名及所有參數(shù)值,參數(shù)值之間使用逗號分隔。不需使用 Call 語句,但如果使用了此語句,則必須將所有參數(shù)包含在括號之中。
下面的示例顯示了調(diào)用過程的兩種方式。一種使用 Call 語句;另一種則不使用。兩種方式效果相同。
getName "腳本之家" '調(diào)用過程的第一種寫法
Call getName("我是mdxy") '調(diào)用過程的第二種寫法
Sub getName(name)
MsgBox "我是"name
End Sub
切記Sub與Function的區(qū)別:
Sub沒有返回值,而Function有返回值。
Sub不能放在表達(dá)式中,而Function可以。