krampaul82 发表于 2007-11-29 15:55:24

传递变量

您好,我是VBA的新手,我在传递变量时遇到了麻烦,我希望在gtc_proj模块(见附件)中获得的值传递到其他需要此工作的模块#请预先修复任何帮助
真诚地;马克·保卢斯
**** Hidden Message *****

krampaul82 发表于 2007-11-29 16:05:16

哪个变量
我突然想到的一件事是这个(来自名为'Module1\u new\u gtc\u proj'的模块)
应在sub之外声明;换句话说,把它放在模块的顶部 或者,另一个想法(我就是这么做的)是将所有公开声明的变量放在一个单独的模块中。

Atook 发表于 2007-11-29 16:47:43

没有使用…我想要的变量来自模块1中的输入框

JohnK 发表于 2007-11-29 17:10:49

Krampaul,为了解释Matts post,你可以创建一个模块并用全局变量填充它,这可以从任何模块中看到。我通常把它们放在一个名为mod\u Globals的模块中,并用类似于 作为布尔值的公共gbDebug 将gstrInputBox作为字符串公开,然后我可以从项目中的任何位置设置和读取这些变量。我没有#039;t看着;您的代码,但还要注意,如果您隐藏表单而不卸载它,您仍然可以使用frmInput.Textbox4.Value从任何模块访问表单中的值。或者类似的。

krampaul82 发表于 2007-11-29 17:28:48

我也不完全理解你的问题,但是Sub main()
Dim myStrVar As String
    myStrVar = InputBox("Enter something")
    MsgBox "You entered: " + myStrVar
End Sub
不适合你?

krampaul82 发表于 2007-11-30 15:45:53

是的,但现在,我想把这个值传递给其他模块,作为在创建新项目时移动的一些文件的预修复号

krampaul82 发表于 2007-11-30 15:58:10


Option Explicit
Public *your var here* As String 我用的也是…Const DATABASE_DIR = "a string"

krampaul82 发表于 2007-11-30 16:02:13


这起作用了……非常感谢。。。

krampaul82 发表于 2007-11-30 16:15:21


这有点离题,但我完全理解人们为什么要为所有人创建一个模块;“公共”;变量,因此可以在整个项目中使用,但我倾向于回避这一点。这只是个人喜好
充其量,我将把一个特定的;模块;在声明部分的顶部;然而,有时在编写代码时,我会在代码上方声明变量,以便将该部分代码所需的变量与代码保持在一起
我只是希望在编程时能看到眼前的变量。在这种情况下,这些变量仅对程序中的一小部分是必需的
当然,如果你需要声明一个项目中使用的30、40或任何变量,那么你肯定需要做一些全局性的事情
我想真的没有写的方法,我只是讨厌在需要的时候去寻找我需要的变量
如果是与用户表单相关的项目,那么我想公共变量模块确实很有意义
标记
页: [1]
查看完整版本: 传递变量