2015-04-07 15 views
0

У меня есть основной словарь, который содержит словарь как элемент, который содержит словарь как элемент, поэтому все во всех трех вложенных словарях. Я хочу дублировать/клонировать мой основной словарь, чтобы работать с ним, но не хочу, чтобы в моем исходном словаре были какие-либо изменения. Я пытался дублировать его, как:VBA вложенный словарь duplicate/clone

For Each Key In MainDict.Keys 
     CloneDict.Add Key, MainDict(Key) 
Next 

Когда я делаю это так, и сделать изменения в суб-словаря в моем клоне, он изменяет его в моем главном словаре Aswell. Есть ли метод клонирования/копирования, который дает мне целую копию, а не только ссылку на суб-словари?

ответ

0

Больше мысли, чем реальный ответ, но, вероятно, вам нужно будет выполнить операцию копирования для каждого уровня вложенного словаря, начиная с самого низкого. Потому что я не думаю, что есть метод, чтобы полностью клонировать три уровня. Afaik даже не существует способа скопировать список/словарь в VBA вообще, но я мог ошибаться на этом этапе.

Смежные вопросы