我试图在我的 Excel VBA 项目中创建一个简单的日志函数。
我想传递当前过程名称和字符串
日志功能目前看起来像这样:
Public Sub log(procName As String, message As String)
dolog (procName & ": " & message)
End Sub
我试图这样称呼它:
Dim C_PROC_NAME As String
C_PROC_NAME = "autoSave"
log(C_PROC_NAME, "test")
那不起作用,它希望我这样做:
test = log(C_PROC_NAME, "test")
像这样初始化 C_PROC_NAME 也不起作用:
DIM C_PROC_NAME As String = "autoSave"
最佳答案
如果你想用括号调用子,你需要放置一个 Call
前面的关键字:
Dim C_PROC_NAME As String
C_PROC_NAME = "autoSave"
Call log(C_PROC_NAME, "test")
或者你可以在没有括号的情况下调用它:
Dim C_PROC_NAME As String
C_PROC_NAME = "autoSave"
log C_PROC_NAME, "test"
关于function - 为什么 vba 要我为函数/子调用使用赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10427044/