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 = 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/

相关文章:

c - 使用函数参数作为变量

rest - MS Access 中的异步 HTTP POST 请求

vba - 迭代模块中定义的方法

vba - 仅从网站获取特定表格到 Excel 中

vb.net - 在 Excel 中使用 VBA 搜索多个值

php - 在 php 函数返回值中使用变量

javascript - 如何检测一个功能何时从另一个功能完成?

excel - 比较两列,如果匹配则用旁边的另一个单元格替换一列

python-3.x - 应用通用函数 (x,y) 从两个现有列创建一个新列,以便我可以在不同列中使用该函数

r - 在自定义 R 函数中使用时间序列模型