Call 陳述式
將控件傳輸至 子程式、 函 式程式或 動態連結庫, (DLL) 程式。
語法
[ 呼叫 ] name [ argumentlist ]
Call 語句語法包含下列部分:
部分 | 描述 |
---|---|
Call | 自選; 關鍵詞。 如果指定,您必須以括弧括住自變數 清單 。 例如: Call MyProc(0) |
name | 此為必要動作。 要呼叫的程式名稱。 |
argumentlist | 選用。 要傳遞至程式的 變數、 陣列或 表達 式逗號分隔清單。 argumentlist 的元件可能包含關鍵詞 ByVal 或 ByRef,以描述呼叫的程式如何處理自變數。 不過, ByVal 和 ByRef 只能在呼叫 DLL 程式時與 Call 搭配使用。 在 Macintosh 上,呼叫 Macintosh 程式代碼資源時, ByVal 和 ByRef 可以與 Call 搭配使用。 |
註解
呼叫程式時,您不需要使用 Call 關鍵詞。 不過,如果您使用 Call 關鍵詞來呼叫需要自變數的程式,則自變數 清單 必須以括弧括住。 如果您省略 Call 關鍵詞,則也必須省略自變數 清單周圍的括弧。 如果您使用 Call 語法來呼叫任何內部函數或使用者定義函數,則會捨棄函式的傳回值。
在 Visual Basic .NET 中,在大部分情況下,您只能省略保留括弧的 Call 關鍵詞,但在 VBA 中,您必須 同時使用或不 使用 呼叫 和括弧。
若要將整個數位傳遞至程式,請使用數位名稱後面接著空括弧。
範例
此範例說明如何使用 Call 語句,將控件傳送至 Sub 程式、內部函式,以及動態連結庫 (DLL) 程式。 DLL 不會在Macintosh上使用。
' Call a Sub procedure.
Call PrintToDebugWindow("Hello World")
' The above statement causes control to be passed to the following
' Sub procedure.
Sub PrintToDebugWindow(AnyString)
Debug.Print AnyString ' Print to the Immediate window.
End Sub
' Call an intrinsic function. The return value of the function is
' discarded.
Call Shell(AppName, 1) ' AppName contains the path of the
' executable file.
' Call a Microsoft Windows DLL procedure. The Declare statement must be
' Private in a Class Module, but not in a standard Module.
Private Declare Sub MessageBeep Lib "User" (ByVal N As Integer)
Sub CallMyDll()
Call MessageBeep(0) ' Call Windows DLL procedure.
MessageBeep 0 ' Call again without Call keyword.
End Sub
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。