在数组VBA中访问字典

Jos*_*son 2 excel vba excel-vba

当字典位于数组中时,我想使用键“ first”访问字典值“ Watermelon”。我相信这是将字典插入数组的正确方法。我已经尝试过所有可以想到的语法组合,并且无法在字典位于数组中的任何地方找到答案。

Function dictTest() As Object
    Dim m_info As Dictionary
    Set m_info = New Dictionary
    m_info.Add "first", "watermelon"
    Set dictTest = m_info
End Function

Sub checker()
    Dim x(1 to 1) As Object
    Set x(1) = dictTest
End Sub
Run Code Online (Sandbox Code Playgroud)

tig*_*tar 5

这应该为您工作:

Function dictTest() As Object
    Dim m_info As Object
    Set m_info = CreateObject("Scripting.Dictionary")
    m_info.Add "first", "watermelon"
    Set dictTest = m_info
End Function

Sub checker()
    Dim x(1 To 1) As Object
    Set x(1) = dictTest
    MsgBox x(1)("first")
End Sub
Run Code Online (Sandbox Code Playgroud)

  • @ Marcucciboy2除外,不是选择了引用的“机器”,而是项目。项目引用始终与VBA项目一起保存(如果有点玩弄VBIDE API,则保存在`VBProject.References`集合中)。后期绑定脚本运行时始终始终是无用的,因为1)自1998年左右以来,它在每个Windows机器上的版本都是完全相同的(并且不会很快更新),以及2)或没有后期绑定,它将如果在没有该库的计算机(例如MacOS)上执行过,则将全部炸毁。 (2认同)