我正在通过VBA开发一个相当大的Excel应用程序。我想将所有公共变量放在一个模块中。然后我将在同一工作簿中的其他模块中分配和使用这些变量。这就是我所拥有的。
Option Explicit
Public wdApp As Word.Application
Public wdDoc As Word.Document
但是当我尝试在其他模块中分配这些变量时,我得到了以下消息。所有模块都不应该访问公共变量吗?什么 我错过了吗?
答案 0 :(得分:1)
声明需要在标准模块中,而不是在任何工作表/工作簿/类模块中,否则它们将被视为类的公共属性(即工作表,工作簿或类)。
答案 1 :(得分:1)
你错过了对象的概念,它是类模块的实例。
我打赌我的衬衫你已经在代码模块中编写了代码(注意,ThisWorkbook
和Sheet42
modules 是类模块。)
添加新的标准模块(。bas),并在那里移动您的全局/公共变量。
要访问类模块的公共成员,您需要先New
更新该类的实例。