Командная функция
Возвращает часть аргументкомандной строки, используемую для запуска Microsoft Visual Basic или исполняемой программы, разработанной с использованием Visual Basic. Функция Visual Basic Command доступна в Microsoft Access, но не в других приложениях Microsoft Office.
Синтаксис
Команда
Замечания
При запуске Visual Basic из командной строки любая часть следующей командной строки /cmd
передается в программу в качестве аргумента командной строки. В следующем примере командной строки представляет сведения о аргументе, cmdlineargs
возвращаемые функцией Command .
VB /cmd cmdlineargs
Для приложений, разработанных с использованием Visual Basic, скомпилированных в EXE-файл, функция Command возвращает все аргументы, отображаемые после имени приложения в командной строке. Например:
MyApp cmdlineargs
Чтобы узнать, как можно изменить аргументы командной строки в пользовательском интерфейсе используемого приложения, выполните поиск в справке по запросу "аргументы командной строки".
Пример
В этом примере функция Command используется для получения аргументов командной строки в функции, которая возвращает их в переменную Variant, содержащую массив. Доступно в Microsoft Access, но не в других приложениях Microsoft Office.
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
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.