公共词典-如何访问数据

问题描述 投票:3回答:1

我正在VBA上的Workbook_Open()上建立公共词典。我想在我在电子表格中创建的任何模块中访问此词典中的项目。

我在ThisWorkbook中的代码是:

Option Explicit
Public Dic As Scripting.Dictionary

Private Sub Workbook_Open()
    Set Dic = New Scripting.Dictionary
    Dic.Add Key:="cat", item:="Database"
    Dic.Add Key:="pwd", item:="Password"
    Dic.Add Key:="col", item:="Server"  
End Sub

当我进入任何模块并使用msgbox功能调用一个项目时,它不起作用:

MsgBox (Dic("col"))

任何提示,如何使这项工作?

想法是在电子表格的开头设置该词典,并在随后的任何模块中进行访问。

欢呼声

excel vba
1个回答
5
投票

我可以看到您已经在私人的ThisWorkbook代码表中对Dic脚本字典进行了“公开”声明。这使其可用于私有ThisWorkbook代码表中的任何子过程。

要使其可用于任何代码表中的任何子过程,请将其放在任何一个公共模块代码表的声明区域(即顶部)中。这将使您仍然可以从私有Workbook_Open填充字典对象,并保留填充的值以在项目中的任何地方使用。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.