Здравствуйте.
В процессе процедуры формирую Dictionary, в котором текстовым ключам соответствуют наборы данных. Эти наборы надо изменять, и наиболее логичным представляется динамический массив.
Примерный код, который я хотел бы видеть:
В процессе процедуры формирую Dictionary, в котором текстовым ключам соответствуют наборы данных. Эти наборы надо изменять, и наиболее логичным представляется динамический массив.
Примерный код, который я хотел бы видеть:
| Код |
|---|
Sub test()
Dim test_dict As Object
Set test_dict = CreateObject("Scripting.Dictionary")
Dim start_vals_arr() As Single
ReDim start_vals_arr(0)
start_vals_arr(0) = 15.87
test_dict.Add "Test_key", start_vals_arr
aaa = test_dict.Item("Test_key")
ReDim Preserve aaa(1)
aaa(1) = 48.56
test_dict.Item("Test_key") = aaa
'для Watches
bbb = test_dict.Item("Test_key")
End Sub
|
Он не работает, выдаёт ошибку ReDim.
В принципе, удалось заставить работать грандиозный костыль с объявлением статического массива длиной (старый + 1) и копированием в него всё содержимое старого + новое значение, но это реально грандиозный костыль. Подскажите пожалуйста, есть ли более человеческий способ добраться до динамического массива, который является значением словаря, и редимить/изменять значения в нём?