thisworkbook与模块之间如何传值
- 原创
- |
- 浏览:3835
- |
- 更新:
- |
- 标签:VBA
通过全局变量来传值
定义全局变量
定义在模块中的public变量就是全局变量,全局变量可以在任何窗体、类和模块中访问。在模块中增加如下代码,定义一个名称为g_strGlobalVariable 的全局变量,再定义一个公共方法,用MsgBox显示该 变量的值。
Public g_strGlobalVariable As String
Public Sub Test1()
MsgBox g_strGlobalVariable
End Sub
在ThisWorkBook中使用全局变量
在ThisWorkBook中定义一个方法,在方法中给全局变量赋值,再调用模块中的公共方法,显示该全局变量的值。
Public Sub TestGobalVariable()
g_strGlobalVariable = "123"
Call Test1
End Sub
测试代码
将光标定位在ThisWorkBook中的TestGobalVariable方法内,按下F8,可以启动单步调试,连续按F8,或按F5,就可以运行完成,可以看出在模块中的MsgBox显示出了在ThisWorkBook中赋值结果。
END
通过公共属性来传值
定义公共属性
在ThisWorkBook中定义一个名称为P1的公共属性,在P1属性的赋值方法中显示赋值结果。
Private m_strP1 As String
Public Property Get P1() As String
P1 = m_strP1
End Property
Public Property Let P1(ByVal strValue As String)
m_strP1 = strValue
MsgBox strValue
End Property
在模块中使用ThisWorkBook中的公共属性
在模块中添加如下代码,给ThisWorkBook的公共属性P1赋值。
Public Sub Test2()
ThisWorkbook.P1 = "456"
End Sub
在ThisWorkBook中增加调用公共方法Test2的代码
Public Sub TestGobalVariable()
g_strGlobalVariable = "123"
Call Test1
Call Test2
End Sub
测试代码
将光标定位在模块中的Test2方法内,按下F8,可以启动单步调试,连续按F8,或按F5,就可以运行完成,可以看出在模块中的MsgBox显示出了在模块中赋值结果。
END