命令函数
返回用于启动 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。