平淡的生活,我依旧能梳理出生活的乐章!

VBS函数中返回多个值的方法

上一篇 / 下一篇  2011-02-09 14:36:25 / 个人分类:QTP

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

TAG:

 

评分:0

我来说两句

Open Toolbar