命令函数

返回用于启动 Microsoft Visual Basic 或使用 Visual Basic 开发的可执行程序的命令行参数部分。 Visual Basic 命令 函数在 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。