Сохранение объекта VBA Dictionary в Excel - PullRequest
1 голос
/ 08 сентября 2011

Как часть шаблона рабочей книги Excel создается и добавляется объект «Словарь» (из библиотеки времени выполнения сценариев).Можно ли каким-то образом сохранить это вместе с Рабочей книгой, чтобы она была доступна при запуске Рабочей книги, или я должен просто экспортировать данные в рабочую таблицу и сохранить их, а затем перезагрузить в следующий раз?

Ответы [ 2 ]

3 голосов
/ 08 сентября 2011

Я считаю, что лучшая ставка - это рабочий лист. Возможно, вы захотите использовать очень скрытый параметр, который означает, что лист можно сделать видимым только по коду.

Например:

 Worksheets("System").Visible = xlVeryHidden
0 голосов
/ 02 марта 2016

Почему бы не сохранить его в файл?

    Sub Save_Dict(aDict As Scripting.Dictionary, FileitAs As String, Data_ID As String)  
    Dim one, SaveStr() As String, s As Long  
    ReDim SaveStr(aDict.Count)  
    SaveStr(0) = Data_ID  
    s = 0  
    For Each one In aDict  
          s = s + 1  
          SaveStr(s) = one & vbBack & aDict(one)  
     Next one  

     Write Join(SaveStr, vbCrLf)) to FileitAs 'Method of choice  
    End Sub  

'~~~~~~~~~~~~~~~~

    sub Get_Dict(aDict as Scripting.Dictionary, FiledAs as String, Data_ID as String) as Long  
    Dim one, SavedString, nLng as long, i as integer  
    Read SavedString from FiledAs - 'Method of choice  
    SavedString = split(SavedString, vbCrLf)  
    If Ubound(SavedString) =>0 then  
       Data_ID = SavedString(0)  
       For nLng = 1 to ubound(SavedString)  
         i = instr(SavedString(nLng),vbBack)  
         adict.add left(SavedString(nLng),i-1, Mid(SavedString(nLng),i+1)  
       next Nlng  
     End If  
    End Sub  
...