2012-05-03 22 views
5

Tôi đang cố tạo một hàm đăng nhập đơn giản trong dự án Excel VBA của mình.tại sao vba muốn tôi sử dụng một nhiệm vụ cho một chức năng/cuộc gọi phụ?

Tôi muốn vượt qua tên thủ tục hiện hành và một chuỗi

hàm log hiện trông như thế này:

Public Sub log(procName As String, message As String) 
    dolog (procName & ": " & message) 
End Sub 

Tôi cố gắng để gọi nó là như thế này:

Dim C_PROC_NAME As String 
C_PROC_NAME = "autoSave" 
log(C_PROC_NAME, "test") 

Điều đó không hiệu quả, nó khiến tôi phải làm như sau:

test = log(C_PROC_NAME, "test") 

Và khởi tạo C_PROC_NAME như thế này không KHÔNG công việc cũng như:

DIM C_PROC_NAME As String = "autoSave" 

Trả lời

5

Nếu bạn muốn gọi một phụ với dấu ngoặc, bạn cần phải đặt một từ khóa Call trước:

Dim C_PROC_NAME As String 
C_PROC_NAME = "autoSave" 
Call log(C_PROC_NAME, "test") 

Hoặc bạn có thể gọi nó mà không có parens:

Dim C_PROC_NAME As String 
C_PROC_NAME = "autoSave" 
log C_PROC_NAME, "test" 
Các vấn đề liên quan