VBS中实现函数多返回值

这里代码实现不只是实现函数多返回值。

借助这个思想,可以实现Excel宏VBA被VBScript代码调用,为什么要用VBS去调用VBA呢?

这段时间碰到了一个棘手的问题,Excel中保存有差不多10万条数据,我想通过字典的形式对这10万条数据存储为Dictionary对象。

'方法1 —— 借助Class
' 定义一个有多个变量成员的类
Class MultiValue
    Dim a, b, c
End Class

Function ClassMulti(param1, param2, param3)
    Dim oClass
    ' 实例化类  
    Set oClass = New MultiValue
    oClass.a = param1
    oClass.b = param2
    oClass.c = param3
   
    ' 指定函数返回为oClass对象
    Set ClassMulti = oClass
End Function

Dim oClass
Set oClass = ClassMulti("value1","value2","value3")


Msgbox oClass.a & vbCrlf & oClass.b & vbCrlf & oClass.c

 

'方法2 —— 借助Dictionary对象 

Function DictionaryMulti(param1, param2, param3)
    Dim oDict
    ' 创建字典对象
    Set oDict = CreateObject("Scripting.Dictionary")
    ' 增加键名和键值
    oDict("a") = param1
    oDict("b") = param2
    oDict("c") = param3

   ' 指定函数返回为Dictionary对象
   Set DictionaryMulti = oDict
End Function

Dim oDict, sMsg
Set oDict = DictionaryMulti("value1", "value2", "value3")


' 遍历返回的Dictionary中的键
For Each vKey In oDict
    sMsg = sMsg & oDict.Item(vKey) & vbCrlf
Next

Msgbox sMsg

猜你喜欢

转载自blog.csdn.net/David_lyy/article/details/84869311
今日推荐