VBA Word-如何在文档打开时存储数组、dict或coll
我正在构建一个word文档,其中包含将用作表单的内容控件。下拉列表将来自工作簿,并根据所做的选择进行动态调整 我不想每次都重新访问工作簿(这样会减慢速度),而是尝试将必要的信息存储在数组和字典中,以便在整个表单填写过程中使用Document_Open()。我不需要(也不希望)用户关闭文档后存储的数组/dict 我曾尝试在函数之外声明一个公共dict,但没有成功(或者我做得不对?)。有人能给我指一下正确的方向吗 多谢各位VBA Word-如何在文档打开时存储数组、dict或coll,vba,excel,ms-word,Vba,Excel,Ms Word,我正在构建一个word文档,其中包含将用作表单的内容控件。下拉列表将来自工作簿,并根据所做的选择进行动态调整 我不想每次都重新访问工作簿(这样会减慢速度),而是尝试将必要的信息存储在数组和字典中,以便在整个表单填写过程中使用Document_Open()。我不需要(也不希望)用户关闭文档后存储的数组/dict 我曾尝试在函数之外声明一个公共dict,但没有成功(或者我做得不对?)。有人能给我指一下正确的方向吗 多谢各位 Public dict As Object Public Sub Docum
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
只需将您的公共变量移动到标准模块(例如,您的子
测试
所在的模块)中,一切都会正常工作