Не получается вложить словарь в словарь - VBA

Узнай цену своей работы

Формулировка задачи:

Друзья, доброго времени суток! Не могу понять, почему у меня не получается вложить словарь в словарь.
В Watches почему-то пишет, что item "Names" в словаре Header содержит значение типа Variant/String. При этом BufHeader в порядке, все элементы отображаются нормально. Может требуются какие-то дополнительные итерации, чтобы засунуть туда ссылку на объект? Весь вечер мучаюсь, не могу понять в чем дело. Если кто знает в чем дело, подскажите, пожалуйста. С уважением.

Решение задачи: «Не получается вложить словарь в словарь»

textual
Листинг программы
Sub uuu()
    Dim x&
    Dim sd1 As Object, sd2 As Object
'--------------------------------------------
    Set sd1 = CreateObject("Scripting.Dictionary")
    Set sd2 = CreateObject("Scripting.Dictionary")
    
    For Each el In Array("a", "b", "c")
        x = x + 1
        sd1.Item(el) = x
    Next
 
    Set sd2.Item("NAMES") = sd1
    
    sd_keys = sd2.keys
    sd_items = sd2.Items
 
    sd_sub_dic_keys = sd2.Item("NAMES").keys
    sd_sub_dic_items = sd2.Item("NAMES").Items
    
End Sub
    
Sub ttt()
    Dim x&
    Dim sd As Object
'---------------------
    Set sd = CreateObject("Scripting.Dictionary")
    Set sd.Item("NAMES") = CreateObject("Scripting.Dictionary")
    
    For Each el In Array("a", "b", "c")
        x = x + 1
        sd.Item("NAMES").Item(el) = x
    Next
 
    sd_keys = sd.keys
    sd_items = sd.Items
 
    sd_sub_dic_keys = sd.Item("NAMES").keys
    sd_sub_dic_items = sd.Item("NAMES").Items
    
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5
Похожие ответы