相关疑难解决方法(0)

使用索引/项目编号循环访问Scripting.Dictionary

此问题类似,Scripting.Dictionary在VBA中使用对象时,下面代码的结果是意外的.

Option Explicit

Sub test()

    Dim d As Variant
    Dim i As Integer
    Dim s As String
    Set d = CreateObject("Scripting.Dictionary")

    d.Add "a", "a"
    Debug.Print d.Count ' Prints '1' as expected

    For i = 1 To d.Count
        s = d.Item(i)
        Debug.Print s ' Prints ' ' (null) instead of 'a'
    Next i

    Debug.Print d.Count ' Prints '2' instead of '1'

End Sub
Run Code Online (Sandbox Code Playgroud)

使用从零开始的索引,可以获得相同的结果:

For i = 0 To d.Count - 1
    s = d.Item(i)
    Debug.Print s …
Run Code Online (Sandbox Code Playgroud)

vba dictionary

40
推荐指数
2
解决办法
10万
查看次数

标签 统计

dictionary ×1

vba ×1