代码之家  ›  专栏  ›  技术社区  ›  masher

如何将字典键的值直接赋值给另一个变量?

  •  0
  • masher  · 技术社区  · 2 年前

    我有一个 Scripting.Dictionary 我希望从中分配第一个键的值(即 .Keys 数组)转换为另一个变量。

    如果不首先指定值,我就无法做到这一点 Keys 数组到另一个变量,然后从该变量访问元素。

    我如何一步到位?

    Dim dict As Object
    Set dict = CreateObject("Scripting.Dictionary")
    
    dict.Add Key:="a", Item:="A"
    dict.Add Key:="b", Item:="B"
    dict.Add Key:="c", Item:="C"
    dict.Add Key:="d", Item:="D"
    
    Dim tmp1
    Dim tmp2 As String
    tmp1 = dict.Keys
    tmp2 = tmp1(0) 'This works
    
    
    Dim tmp As String
    tmp = dict.Keys(0) 'This does not work
    
    1 回复  |  直到 2 年前
        1
  •  2
  •   Vasily Nidula Nimadith Wijesekara    2 年前

    在VBA的“Scripting.Dictionary.keys”属性中重新调整数组,但您不能使用“dict.keys(0)”直接访问此数组的元素,因为“keys”返回是一个包含数组的变量,您需要显式引用该数组

    Dim tmp AS String
    
    tmp = dict.Keys()(0)