VBS函数中返回多个值的方法;
1. 定义公共变量;
2. 函数返回集合;
3. 函数返回数组;
4. 返回值返回到一个字符串当中;
5. 用Byref传参数
定义公共变量;
Dim intNumber_1: intNumber_1 = 40
Dim intNumber_2: intNumber_2 = 80
Public Sub PassValues
intNumber_1 = intNumber_1/4
intNumber_2 = intNumber_2/4
End Sub
PassValues
MsgBox "intNumber_1 = " & intNumber_1 &_
vbLf & "intNumber_2 = " & intNumber_2
函数返回集合;
Public Function PassValues(ByVal Num_1, ByVal Num_2)
Set Dict = CreateObject( "Scripting.Dictionary" )
With oDict
.Add "Num_1", Num_1/4
.Add "Num_2", Num_2/2
End With
Set PassValues = oDict
End Function
Set colNumbers = PassValues(40,80)
MsgBox "intNumber_1 = " & colNumbers.Item("Num_1") &_
vbLf & "intNumber_2 = " & colNumbers.Item("Num_2")
函数返回数组;
Public Function PassValues(ByVal Num_1, ByVal Num_2)
Dim arrArray: ReDim arrArray(2)
arrArray(0) = Num_1/4
arrArray(1) = Num_2/2
PassValues = arrArray
End Function
arrNew = PassValues(40,80)
MsgBox "intNumber_1 = " & arrNew(0) &_
vbLf & "intNumber_2 = " & arrNew(1)
返回值返回到一个字符串当中;(用spilt方法再拆分)
Public Function PassValues(ByVal Num_1, ByVal Num_2)
Num_1 = Num_1/4
Num_2 = Num_2/2
PassValues = Num_1 & "," & Num_2
End Function
sNum = PassValues(40,80)
MsgBox "intNumber_1 = " & Split(sNum, ",")(0) &_
vbLf & "intNumber_2 = " & Split(sNum, ",")(1)
用Byref传参数
Dim intNumber_1: intNumber_1 = 40
Dim intNumber_2: intNumber_2 = 80
Public Sub PassValues(ByRef Num_1, ByRef Num_2)
Num_1 = Num_1/4
Num_2 = Num_2/2
End Sub
PassValues intNumber_1, intNumber_2MsgBox "intNumber_1 = " & intNumber_1 &_
vbLf & "intNumber_2 = " & intNumber_2