提供可選參數的缺省值
也可以給可選參數指定缺省值。在下例中,如果未將可選參數傳遞到函數過程,則返回一個缺省值。
Sub ListText(x As String, Optional y As _ Integer = 12345) List1.AddItem x List1.AddItem y End Sub Private Sub Command1_Click () strName = "yourname" '未提供第二個參數。 Call ListText (strName) '添加“yourname”和“12345”。 End Sub
使用不定數量的參數一般說來,過程調用中的參數個數應等於過程說明的參數個數。可用ParamArray 關鍵字指明,過程將接受任意個數的參數。於是可以這樣來編寫計算總和的 Sum 函數:
Dim x As Integer Dim y As Integer Dim intSum As Integer Sub Sum (ParamArray intNums ()) For Each x In intNums y = y + x Next x intSum = y End Sub Private Sub Command1_Click () Sum 1, 3, 5, 7, 8 List1.AddItem intSum End Sub
用命名的參數創建簡單語句
對許多內建函數、語句和方法,Visual Basic 提供了命名參數方法來快捷傳遞參數值。對命名參數,通過給命名參數賦值,就可按任意次序提供任意多參數。為此,鍵入命名參數,其後為冒號、等號和值 (MyArgument :="SomeValue") ,可以按任意次序安排這些賦值,它們之間用逗號分開。注意,下例中的參數順序和所要參數的順序相反:
Function ListText (strName As String, Optional strAddress As String) List1.AddItem strName List2.AddItem strAddress End Sub Private Sub Command1_Click () ListText strAddress:="12345", strName:="Your Name" End Sub
如果過程有若干不必總要指定的可選參數,則上述內容更為有用。
確定對命名參數的支持
要確定哪一個函數、語句和方法支持命名參數,用“代碼”窗口中的“AutoQuickInfo”功能,檢查“對象浏覽器”,或者參閱語言參考。使用命名參數時要注意以下幾點:
在 Visual Basic (VB) 對象庫中的對象的方法不支持命名參數。而 VisualBasic for applications (VBA) 對象庫中的所有的語言關鍵字都支持命名的參數。
在語法中,命名參數是用粗體和斜體字表示的。所有其它參數只用斜體字表示。
重點 使用命名參數時不能省略所需參數的輸入。可以只省略可選參數。對於 Visual Basic (VB) 和 Visual Basic for applications (VBA) 對象庫,“對象浏覽器”對話框將可選參數用方括號 [ ] 括起來。
詳細信息 請參閱語言參考中的 "ByVal"、"ByRef"、"Optional" 和"ParamArray"。
控制結構概述
有了控制結構就可控制程序執行的流程。如果未復選控制流語句,程序便從左至右、自頂向下地貫穿這些語句。有些簡單程序可以只用單向流程來編寫,有些流程可以依靠運算符的優先級來控制,但任何編程語言的效力和用途皆由其通過結構和循環改變語句順序的能力而得。
判定結構
Visual Basic 過程能夠測試條件式,然後根據測試結果執行不同的操作。
Visual Basic 支持的判定結構有:
1.If...Then 2.If...Then...Else 3.Select Case If...Then 用 If...Then 結構有條件地執行一個或多個語句。單行語法和多行塊語法都可以使用: If condition Then statement If condition Then statements End If