2012-05-03 10 views
5

私のExcel VBAプロジェクトで簡単なログ機能を作成しようとしています。なぜ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" 

答えて

5

あなたは括弧でサブを呼び出したい場合は、あなたが前に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" 
関連する問題