Befehlsfunktion

Gibt den Argumentteil der Befehlszeile zum Starten von Microsoft Visual Basic oder eines ausführbares Programms zurück, das mit Visual Basic entwickelt wurde. Die Visual Basic-Befehlsfunktion ist in Microsoft Access verfügbar, jedoch nicht in anderen Microsoft Office-Anwendungen.

Syntax

Befehl

HinwBemerkungeneise

Wenn Visual Basic über die Befehlszeile gestartet wird, wird ein beliebiger Teil der folgenden /cmd Befehlszeile als Befehlszeilenargument an das Programm übergeben. Im folgenden Befehlszeilenbeispiel cmdlineargs stellt die von der Command-Funktion zurückgegebenen Argumentinformationen dar.

VB /cmd cmdlineargs

Bei Anwendungen, die mit Visual Basic entwickelt und in eine EXE-Datei kompiliert werden, gibt Command alle Argumente zurück, die auf den Anwendungsnamen in der Befehlszeile folgen. Beispiel:

MyApp cmdlineargs

Um zu ermitteln, wie Befehlszeilenargumente auf der Benutzeroberfläche der von Ihnen verwendeten Anwendung geändert werden können, suchen Sie in der Hilfe nach "Befehlszeilenargumenten".

Beispiel

In diesem Beispiel wird die Command-Funktion verwendet, um die Befehlszeilenargumente in einer Funktion abzurufen, die sie in einem Variant-Objekt zurückgibt, das ein Array enthält. Verfügbar in Microsoft Access, aber nicht in anderen Microsoft Office-Anwendungen.

Function GetCommandLine(Optional MaxArgs)
    'Declare variables.
    Dim C, CmdLine, CmdLnLen, InArg, I, NumArgs
    'See if MaxArgs was provided.
    If IsMissing(MaxArgs) Then MaxArgs = 10
    'Make array of the correct size.
    ReDim ArgArray(MaxArgs)
    NumArgs = 0: InArg = False
    'Get command line arguments.
    CmdLine = Command()
    CmdLnLen = Len(CmdLine)
    'Go thru command line one character
    'at a time.
    For I = 1 To CmdLnLen
        C = Mid(CmdLine, I, 1)
        'Test for space or tab.
        If (C <> " " And C <> vbTab) Then
            'Neither space nor tab.
            'Test if already in argument.
            If Not InArg Then
            'New argument begins.
            'Test for too many arguments.
                If NumArgs = MaxArgs Then Exit For
                NumArgs = NumArgs + 1
                InArg = True
            End If
            'Concatenate character to current argument.
            ArgArray(NumArgs) = ArgArray(NumArgs) & C
        Else
            'Found a space or tab.
            'Set InArg flag to False.
            InArg = False
        End If
    Next I
    'Resize array just enough to hold arguments.
    ReDim Preserve ArgArray(NumArgs)
    'Return Array in Function name.
    GetCommandLine = ArgArray()
End Function

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.