Поделиться через


Командная функция

Возвращает часть аргументкомандной строки, используемую для запуска 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 и обратная связь.