小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

VB2005でコマンドラインから引数を受け取る

VB2005でコマンドラインから引数を受け取る場合、VB6と同じようにCommand()も使えますが、以下のようにCommandLineArgsも使えます。

    Dim objArgs As Object
    Dim int_i As Integer

    objArgs = My.Application.CommandLineArgs
    For int_i = 0 To objArgs.Count - 1
        MsgBox(objArgs(int_i))
    Next


ちなみにCommand()では、以下の感じ

    Dim strCmdline() As String
    Dim int_i As Integer

    strCmdline = Split(Command(), " ")
    For int_i = 0 To UBound(strCmdline)
        MsgBox (strCmdline(int_i))
    Next


補足1:コマンドラインから引数を受け取るとは
コマンドプロンプト画面(黒い画面)からプロンプトに対して、『コマンド名 引数1 引数2 …』を入力します。
そして、コマンドの中で上記ロジックで、引数1や引数2を取得することを『コマンドラインから引数を受け取る』といいます。


補足2:CommandLineArgsとCommandの違い
CommandLineArgsはオブジェクトの配列にコマンドラインの引数が格納されるのに対し、Commandはスペースがデリミタの引数りストの文字列で格納される。
なのでサンプルでは、Split(Command(), " ")で引数リストの文字列をスペースで分割して引数を配列に格納しています。