我正在尝试从函数中返回一个字典.我相信该功能正常,但我不知道如何利用返回的字典.
这是我的功能的相关部分:
Function GetSomeStuff()
'
' Get a recordset...
'
Dim stuff
Set stuff = CreateObject("Scripting.Dictionary")
rs.MoveFirst
Do Until rs.EOF
stuff.Add rs.Fields("FieldA").Value, rs.Fields("FieldB").Value
rs.MoveNext
Loop
GetSomeStuff = stuff
End Function
Run Code Online (Sandbox Code Playgroud)
如何调用此函数并使用返回的字典?
编辑:我试过这个:
Dim someStuff
someStuff = GetSomeStuff
Run Code Online (Sandbox Code Playgroud)
和
Dim someStuff
Set someStuff = GetSomeStuff
Run Code Online (Sandbox Code Playgroud)
当我尝试访问someStuff时,出现错误:
Microsoft VBScript runtime error: Object required: 'GetSomeStuff'
Run Code Online (Sandbox Code Playgroud)
编辑2:在函数中尝试这个:
Set GetSomeStuff = stuff
Run Code Online (Sandbox Code Playgroud)
结果出现此错误:
Microsoft VBScript runtime error: Wrong number of arguments or invalid property assignment.
Run Code Online (Sandbox Code Playgroud)
Phi*_*Lho 23
我不太确定你的问题是什么,所以我试验了一下.
您似乎错过了为对象分配引用,您必须使用set,即使是返回值:
Function GetSomeStuff
Dim stuff
Set stuff = CreateObject("Scripting.Dictionary")
stuff.Add "A", "Anaconda"
stuff.Add "B", "Boa"
stuff.Add "C", "Cobra"
Set GetSomeStuff = stuff
End Function
Set d = GetSomeStuff
Wscript.Echo d.Item("A")
Wscript.Echo d.Exists("B")
items = d.Items
For i = 0 To UBound(items)
Wscript.Echo items(i)
Next
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30014 次 |
| 最近记录: |