掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VBからエクセルを起動して引数を渡し方は? (ID:118747)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
引数の受け取りには、Command 関数を使用できると思います。 次の例は、Command 関数を使って、 配列を格納したバリアント型 (Variant) を返す関数のコマンドラインの 引数を取得します。 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
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.