我在声明部分有这一行:
Private filePath As String
以下是这样的事情:
Public Sub Print(filePath As String)
...
End Sub
在...部分中,我想将参数filePath
分配给模块级filePath
。但是我如何才能访问后者呢?非常感谢。
答案 0 :(得分:5)
如何更改代码,以避免混淆?
Private mFilePath As String
将模块级变量或参数更改为print
函数。
答案 1 :(得分:2)
Phoenie我认为无论如何都要看一下VB6 / VBA中的私有类变量,一旦你有隐藏它的本地范围(我有一个很好的旧谷歌搜索,但没有出现)。如果要保留命名约定而不更改现有接口,唯一的解决方法是开发一个私有函数来为您访问变量。 e.g。
Public Sub Print(filePath As String)
SetMyFilePath filePath
End Sub
Private Sub SetMyFilePath(ByVal passedFilePath as String)
filePath = passedFilePath
End Sub
答案 2 :(得分:1)
因此,您可以修改Sub,以便(如果可能)允许您将Private变量设置为局部变量...但是您不允许重命名任何参数? 如果你不能做到Ira Baxter的建议......那么你的任务在VB6中是不可能的。对你施加的限制听起来不合理。
答案 3 :(得分:0)
如果无法更改函数中参数的名称,则可以始终定义另一个函数:
Public Sub SetfilePath(m As String)
filePath = m
End Sub
并在您的...代码中调用SetfilePath。
如果这是我要解决的问题,我会弄明白为什么你不被允许 更改子例程中参数的名称,并将其更改。 显然,您可以修改子程序;为什么这是特别的变化 不允许?