Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 为什么vba希望我对函数/子调用使用赋值?_Function_Vba - Fatal编程技术网

Function 为什么vba希望我对函数/子调用使用赋值?

Function 为什么vba希望我对函数/子调用使用赋值?,function,vba,Function,Vba,我试图在我的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

我试图在我的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")
我试着这样称呼它:

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")
这是行不通的,我很抱歉这样做:

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_名称也不起作用:

DIM C_PROC_NAME As String = "autoSave"

如果要使用参数调用sub,需要在前面放置一个
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"