访问另一个类中的参数

时间:2014-07-31 12:32:51

标签: vba oop

嗨朋友我在vba中有一个类,我在其中定义了一个这样的参数:

Public lcl As Boolean

首先,我在此块中设置此参数:

If MsgBox("Lokal ?", vbYesNo, conConnectMsg) = vbYes Then
         strTmp = CurrentDb.name
         lcl = True
      Else
       strTmp = pconDatenVerzeichnisStandard & Me.DataMDB
         lcl = False
      End If

我希望从From访问此参数,但此布尔参数lcl始终为false。我的代码是否正确?我的代码中有什么问题,lcl始终为假

1 个答案:

答案 0 :(得分:1)

首先检查此链接: Class Modules vs. Standard Modules

我并不习惯OOP iv VBA,但我认为如果你在一个模块中声明一个类似的变量,它将是Global,在一个类中它将是一个属性你必须这样访问:

 yourClassInstance.lcl    ' Because it is public

(如果private:使用Let / Get ... Classes in VBA

无论如何,我只是说你在使用全局变量时必须要小心(最后一个链接:Global variables即使它是关于c的男人)

但重点是:您必须使用对象的实例来访问lcl

最后一点:如果尚未完成,请在模块/类的顶部添加Option Explicit,因为它可能会对此类情况有所帮助...如果您不这样做,如果您使用{{ 1}}某个地方它不存在但VBA会创建它,它可能是发生了什么(它使用本地 lcl

希望这会有所帮助,我没有足够的代码来了解究竟发生了什么。