Kommandofunktion
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
Hinweise
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. Zum 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.