Call-AnweisungCall statement

Überträgt die Steuerung an eine Sub-Prozedur, Function-Prozedur oder Dynamic Link Library (DLL)-Prozedur.Transfers control to a Sub procedure, Function procedure, or dynamic-link library (DLL) procedure.

SyntaxSyntax

[ Call ] name [ argumentlist ][ Call ] name [ argumentlist ]


Die Syntax der Call-Anweisung besteht aus folgenden Teilen:The Call statement syntax has these parts:

TeilPart BeschreibungDescription
CallCall Optional; Schlüsselwort.Optional; keyword. Falls angegeben, müssen Sie argumentlist in Klammern einschließen.If specified, you must enclose argumentlist in parentheses.

Beispiel: Call MyProc(0)For example: Call MyProc(0)
namename Erforderlich.Required. Der Name der aufzurufenden Prozedur.Name of the procedure to call.
argumentlistargumentlist Optional.Optional. Durch Trennzeichen getrennte Liste von Variablen, Arrays oder Ausdrücken, die an die Prozedur übergeben werden.Comma-delimited list of variables, arrays, or expressions to pass to the procedure. Komponenten von argumentlist können die Schlüsselwörter ByVal oder ByRef enthalten, um zu beschreiben, wie die Argumente von der aufgerufenen Prozedur behandelt werden.Components of argumentlist may include the keywords ByVal or ByRef to describe how the arguments are treated by the called procedure.

ByVal und ByRef können jedoch nur zusammen mit Call verwendet werden, wenn eine DLL-Prozedur aufgerufen wird.However, ByVal and ByRef can be used with Call only when calling a DLL procedure. Auf einem Macintosh-Computer können ByVal und ByRef mit Call beim Aufruf einer Macintosh-Coderessource verwendet werden.On the Macintosh, ByVal and ByRef can be used with Call when making a call to a Macintosh code resource.

HinweiseRemarks

Sie müssen das Call-Schlüsselwort beim Aufrufen einer Prozedur nicht verwenden.You are not required to use the Call keyword when calling a procedure. Wenn Sie das Call-Schlüsselwort jedoch verwenden, um eine Prozedur aufzurufen, die Argumente erfordert, muss argumentlist in Klammern eingeschlossen werden.However, if you use the Call keyword to call a procedure that requires arguments, argumentlist must be enclosed in parentheses. Wenn Sie das Call-Schlüsselwort weglassen, müssen Sie auch die Klammern um argumentlist weglassen.If you omit the Call keyword, you also must omit the parentheses around argumentlist. Wenn Sie eine Call-Syntax verwenden, um eine systeminterne oder eine benutzerdefinierte Funktion aufzurufen, wird der Rückgabewert der Funktion verworfen.If you use either Call syntax to call any intrinsic or user-defined function, the function's return value is discarded.

Um ein ganzes Array an eine Prozedur zu übergeben, verwenden Sie den Arraynamen gefolgt von leeren Klammern.To pass a whole array to a procedure, use the array name followed by empty parentheses.

BeispielExample

Dieses Beispiel veranschaulicht, wie die Call-Anweisung verwendet wird, um die Steuerung an eine Sub-Prozedur, eine systeminterne Funktion und eine Dynamic Link Library (DLL)-Prozedur zu übertragen.This example illustrates how the Call statement is used to transfer control to a Sub procedure, an intrinsic function, and a dynamic-link library (DLL) procedure. DLLs werden auf Macintosh nicht verwendet.DLLs are not used on the 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

Siehe auchSee also

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.