大家。我遇到了一个问题。我写了一个函数,它接受一个字符串作为参数,表示一个函数名和一个带参数的Arguments数组。我存储函数名称,后面跟着括号之间的所有参数,并用逗号分隔。然后调用Evaluate函数并将此变量传递给它。当我传递Global Scope中定义的函数名时,它工作正常,但我希望能够调用我编写的类中定义的私有函数。有什么建议吗?
Private Function fAsString(fname As String, ParamArray arguments() As Variant)
tx = fname & "("
For i = 0 To UBound(arguments)
it = arguments(i)
If TypeName(it) = "String" Then
it = """" & LCase(it) & """"
ElseIf TypeName(it) = "Date" Then
it = "DateValue(""" & Month(it) & " " & Day(it) & ", " & Year(it) & """)"
End If
tx = tx & it & IIf(i = UBound(arguments), _
")", _
", ")
Next
fAsString = Evaluate(tx)
End Function
由于