|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 昆仑石 于 2021-2-8 22:58 编辑
本人刚学vb封装,小白一个,哪位大神知道的,帮助回答一下:
excell里面的公共变量,封装到vb的exe里面以后,产生的值,如何传回excell,或者说公共变量如何封装?
备注: 本来excell里面的设置的公共变量,在一个过程赋值,其他过程此变量的值也变化了。可以调用。
但是如果封装到vb里后,excell再次调用变量的值,发觉变量值不会改变。无法调用了。
Public a As Integer, b As Integer ,WShell As Object, Excel_app As Object '(Excel_app是vb里的)
Sub Test1()
Set Excel_app = GetObject(, "Excel.Application") '创建excel对象
a = Excel_app.ActiveSheet.Range("a1").Value 'Range("a1").Value是100
MsgBox "结果是" & a '给a赋值,运行的结果是100
End Sub
Sub Test2()
b = a + 50
MsgBox "结果是" & b '给b赋值,如果运行过test1,b的结果是150
End Sub
--------------------------------------以下是调用结果----------------------
Sub Test1()
'给a赋值,sheets("a1").Value是100
Set WShell = CreateObject("WScript.Shell")
WShell.Run ThisWorkbook.Path & "\测试.exe Test1", 0, True
MsgBox "结果是" & a '给a赋值,运行过的结果是0
End Sub
Sub Test2()
Set WShell = CreateObject("WScript.Shell")
WShell.Run ThisWorkbook.Path & "\测试.exe Test2", 0, True
MsgBox "结果是" & b '给b赋值,运行过test1,b的结果是0
End Sub
|
|