Lee*_*ite 5 arrays vba dictionary type-conversion
我想做的事情相当简单.我想获得a中所有项(值)的列表Dictionary,并将它们保存在字符串数组中.
我猜这段代码会起作用:
Sub PrintFilters(ByVal crit As Dictionary)
Dim i() As String
i = crit.Items()
' Do stuff with i
End Sub
Run Code Online (Sandbox Code Playgroud)
但是,我在第三行遇到类型不匹配.我猜测crit.Items()返回值是某种列表,而不是数组.但是,MSDN页面没有提到此方法的返回值的类型.
有没有正确的方法来做到这一点?
我认为是变体类型所以试试这个:
Sub PrintFilters(ByVal crit As Dictionary)
Dim i As Variant
i = crit.Items()
' Do stuff with i
End Sub
Run Code Online (Sandbox Code Playgroud)
如果你需要一个字符串数组,你需要手动建立一个作为.Items是variant()
Sub PrintFilters(crit As Dictionary)
Dim key As Variant, i As Long
ReDim items(crit.Count - 1) As String
For Each key In crit.Keys()
items(i) = crit(key)
i = i + 1
Next
Debug.Print Join(items, ", ")
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10186 次 |
| 最近记录: |