VBAのCommand関数について解説しています。
Command関数は、VBA関数の中でWindows・その他の関数に分類される関数です。
Command関数は、Microsoft Visual Basic または Visual Basic で開発した実行可能なプログラムを起動させるために使用するコマンド ラインの引数の部分を返します。Visual Basic の Command 関数は Microsoft Office アプリケーションでは使用できません。.
| 構文 | Command | |
|---|---|---|
Visual Basic がコマンド ラインから起動されるとき、次に示す /cmd のようなコマンド ラインの一部がコマンド ラインの引数としてプログラムに引き渡されます。次の例では、cmdlineargs は Command 関数が返す引数情報を表します。
VB /cmd cmdlineargs
アプリケーションを Visual Basic で開発したり、EXE ファイルをコンパイルする場合、Command 関数は、コマンド ライン上のアプリケーションの名前の後の引数を返します。次に例を示します。
MyApp cmdlineargs
使用しているアプリケーションのユーザー インターフェイスで変更できるコマンド ラインの引数を調べるには、ヘルプで "コマンド ラインの引数" を検索してください。
次の例は、Command 関数を使って、配列を格納したバリアント型 (Variant) を返す関数のコマンド ラインの引数を取得します。Microsoft Office.では、この関数は使用できません。
Function GetCommandLine(Optional MaxArgs)
    ' 変数を宣言します。
    Dim C, CmdLine, CmdLnLen, InArg, I, NumArgs
    ' MaxArgs が提供されるかどうかを調べます。
    If IsMissing(MaxArgs) Then MaxArgs = 10
    ' 現在のサイズの配列にします。
    ReDim ArgArray(MaxArgs)
    NumArgs = 0: InArg = False
    ' コマンド ラインの引数を取得します。
    CmdLine = Command()
    CmdLnLen = Len(CmdLine)
    ' 同時にコマンド ラインの引数を取得します。
    For I = 1 To CmdLnLen
        C = Mid(CmdLine, I, 1)
        ' スペースまたはタブを調べます。
        If (C <> " " And C <> vbTab) Then
            ' スペースまたはタブのいずれでもありません。
            ' 既に引数の中ではないかどうかを調べます。
            If Not InArg Then
            ' 新しい引数が始まります。
            ' 引数が多すぎないかを調べます。
                If NumArgs = MaxArgs Then Exit For
                    NumArgs = NumArgs + 1
                    InArg = True
                End If
            ' 現在の引数に文字を追加します。
            ArgArray(NumArgs) = ArgArray(NumArgs) & C
        Else
            ' スペースまたはタブを見つけました。
            ' InArg フラグに False を設定します。
            InArg = False
        End If
    Next I
    ' 引数がすべて格納できるように配列のサイズを変更します。
    ReDim Preserve ArgArray(NumArgs)
    ' 関数名に配列を返します。
    GetCommandLine = ArgArray()
End Function
※ドラッグ(スワイプ)すると全体を確認できます。
| 関数名 | 内容 | 
|---|---|
| Command | 起動時に指定されたコマンドラインの引数を返します。 | 
| CreateObject | ActiveXオブジェクトへの参照を作成して返します。 | 
| DoEvents | VBAからWindowsにイベントの処理を依頼します。 | 
| Environ | OSの環境変数に割り当てられた名前を返します。 | 
| Environ$ | 指定した数番目の環境変数を返します。 | 
| GetAllSettings | アプリケーションの項目からすべてのキー設定に対応する値リストを返します。 | 
| GetObject | ファイルから取得したActiveXオブジェクトへの参照を返します。 | 
| GetSetting | アプリケーションの項目からキー設定値を返します。 | 
| IMEStatus | MS-IME(日本語入力システム)の現在の状態を返します。 | 
| QBColor | 指定した番号に対応するRGBコードを返します。 | 
| RGB | RGBの値を色で指定します。 | 
| Shell | 指定したプログラムを実行します。 | 
↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。
VBAのIE操作入門↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。
こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。