0
我正在構建一個包含將用作表單的內容控件的Word文檔。下拉列表將來自工作簿,並將根據所做的選擇進行動態調整。VBA Word - 如何在文檔打開時存儲數組或字典或coll
而不是每次重新訪問工作簿(並放慢速度),我試圖在數組和字典中存儲必要的信息,以便在Document_Open()的整個表單填充過程中使用這些信息。我不需要(也不需要)用戶關閉文檔後存儲的數組/字典。
我試過在函數外面聲明一個公有字典,沒有成功(或者我做錯了?)。有人能指引我走向正確的方向嗎?
謝謝
Public dict As Object
Public Sub Document_Open()
Set dict = CreateObject("Scripting.Dictionary")
Dim xlApp As Object
Dim xlWB As Object
Dim xlWS As Object
Dim cRows As Integer
Dim i As Integer
Set xlApp = CreateObject("Excel.Application")
Set xlWB = xlApp.Workbooks.Open("O:\[..]\Library.xlsx")
Set xlWS = xlWB.Worksheets(1)
cRows = 21
For i = 1 To cRows
dict.Add xlWS.Range("C2").Cells(i, 1).Value, xlWS.Range("C2").Cells(i, 2).Value
Next i
Set xlWS = Nothing
Set xlWB = Nothing
xlApp.Quit
Set xlApp = Nothing
End Sub
上馬後
Sub test()
Debug.Print dict("random key")
End Sub