我知道我不是第一个提出这个问题的人。我仍然找不到解决方案。 我的solidworks 有一些vba 代码,工作正常。但是,我想使用我在一个子程序和另一个子程序中定义的字符串。这似乎比我想象的要难。
我的代码 - 简化:
Public FolderName As String
Public Sub SaveFiles()
FolderName = "SOLID"
End Sub
Public Sub UserInput(Parameter1, Parameter2, Parameter3...as string) 'A lot of input from a userform
For i = LBound(ArrayList) To UBound(ArrayList)
Debug.Print "FolderName = ", FolderName 'THIS PRINTS EMPTY AND I WANT IT TO PRINT "SOLID"
Next
End Sub
我使用公共子串和公共字符串。我无法将
FolderName
添加到 Sub UserInput(FolderName)
,因为这样我会收到编译错误“参数不可选”,而我的 Call UserInput()
则写在我的用户表单中
我可以做什么来解决这个问题?
Public Sub UserInput(ParameterX As String, Optional FolderName As String)
If FolderName = "" Then
FolderName = "some default"
End If
doTheThings
End Sub