コマンドの機能

Microsoft Visual Basic、または Visual Basic を使用して開発された実行可能プログラムの起動に使用されたコマンド ライン引数部分を返します。 Visual Basic コマンド 関数は、Microsoft Access では使用できますが、他の Microsoft Office アプリケーションでは使用できません。

構文

Command

解説

コマンドラインから Visual Basic が起動された場合、/cmd に続くすべてのコマンド ライン部分がコマンドライン引数として、プログラムに渡されます。 次のコマンドラインの例で、cmdlineargs は、コマンド関数によって返される引数情報を表しています。

VB /cmd cmdlineargs

Visual Basic で開発され、.exe ファイルにコンパイルされたアプリケーションでは、Command によって、コマンド ラインのアプリケーション名の後に表示されるすべての引数が返されます。 次に例を示します。

MyApp cmdlineargs

使用しているアプリケーションのユーザー インターフェイスでのコマンド ライン引数の変更方法の詳細については、ヘルプの「コマンド ライン引数」を参照してください。

この例では、配列を含む Variant でコマンド ライン引数を返す関数内で、Command 関数を使用してコマンド ライン引数を取得しています。 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 のサポートおよびフィードバックを参照してください。