• ベストアンサー

Commandの分解

アイコンに複数のファイルをドロップされて起動したとき、Commandにそのファイル名が","で区切られて格納されていたのですが、この各ファイル名を分解して一次元配列に入れたいのですが、どのような方法があるでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

Splitの使用方法です。 お手元のPCでVB6のヘルプが利用できるならそちらもご覧ください。 Command$を配列strCommandに分解するとします。   Dim strCommand() as String   strCommand()=Split(Command$,",") これだけです。 何件あるか、はUBoundで検出してください。 なお、「逆」はJoinです。こちらも研究してみてくださいね。

Masato_a
質問者

お礼

お勉強になりました。どうもありがとうございました。 またお願いします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

VB6なら文字列を配列に分解する「SPLIT」コマンドが利用できそうです。 区切り記号の初期値がカンマです。 配列に格納された件数はUboundで検出できます。 添え字が0からになることに注意してください。

Masato_a
質問者

補足

回答ありがとうございます。 ところでsplit関数はどうやって使うのかわかりません。 Split Command ",",-1,1 まではわかったのですが、いったいどこで配列ができるのでしょうか。 さっぱりです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • EXCEL COMMAND関数が使えない

    VBでは使えたCOMMAND関数がEXCELでは使えないことが判明しましたが、EXCELで読み込むTXTファイル名の中に店舗コードがあり、どうしてもCOMMAND関数で引数(店舗コード)を取得しないといけません。EXCELでCOMMAND関数に代わるものまたは、別プログラムからEXCELを起動したときに、店舗コード(変数)を取得する方法はありませんか? よろしくお願いします

  • VB 2005 Commandプロパティ

    VB6 の時にあったCommandプロパティ(拡張子の動詞が起動された時に実行するファイル名を指定)は、VB2005でも存在するのでしょうか?ヘルプを見てもよく分からないので知っている方教えて頂きたいのですが。 よろしくお願いします。

  • フォームで入力したテキストを分解し、テーブルに格納

    ACCESS 2003を使用しています。 下記のようなものを作りたいのですが、わからないので質問させていただきます。 (1)フォーム画面の「ファイル名称」というフィールドにテキストを入力する。  ファイル名称は"YYYYMMDD_FileName_Type_ID.csv"という定義になっており  CSVの他に、SSV・TSVと複数種類がある。  この箇所は、手動で入力する。 (2)あるボタンを押すと、入力したテキストが分解され、「年月」・「ファイル名」・「タイプ」・ 「ID」・「拡張子」のフィールドに自動的に格納される。 現在、考えているやり方としまして、 (1)ボタンを押すと、文字を分解し、テーブルに格納するVBAを作る (2)格納されたデータをフォームに反映する (3)反映ができたら、分解して格納したテーブルのデータを削除する という流れでいるのですが、(1)の箇所から躓いてしまい、どうにも進まない状態です。 どうか、お助けください。 どうぞ、宜しくお願いいたします。

  • 2次元の配列にデータを格納したい

    hoge.txtの様なファイルがあって、この値を2次元の配列に格納したいのですが、簡単に実現することは可能でしょうか? open (FILE, "hoge.txt"); foreach (<FILE>) { # この中で、2次元の配列に格納したい } hoge.txt A  1 B  2 C  3

    • ベストアンサー
    • Perl
  • Excel VBA 配列の分割について

    Excel VBAでコーディングしていますが 行き詰っているのでお助け下さい。 (1)二次元配列に格納されている値の中から 特定の値が格納されている位置をループを使わず 取得したいのですがその方法が分かりません。 <例>  Dim x(2,2) As Valiant   x(0,0) = "あああ"   x(0,1) = "いいい"   x(0,2) = "ううう"   x(1,1) = "えええ"      ・      ・      ・ この配列から"えええ"が格納されている位置をループを使わず 取得する方法を教えてください。 ⇒ 1, 1 (2)二次元配列の指定した列(?)を一次元配列に 格納する方法も重ねて教えてください。 以上、よろしくお願いします。

  • C#で、引数における一次元と二次元配列の取り扱い

    C#について質問させていただきます。 以下のようにすればそれぞれ一次元配列と二次元配列を格納出来ますが 同時に一つの引数に収めることは無理なのでしょうか?    public static void Join(string[] Ary_str){ 本文 }    public static void Join(string[ , ] Ary_str){ 本文 } そのために、例えば以下のようにしたとします。    public static void Join(object Ary_obj){ 本文 } こうすれば一次元でも二次元でも格納出来ますが 格納された値が何次元配列なのか確認するために    Ary_obj.Rank としてもエラーになってしまいます。 (1)Objectに格納した値が何次元配列なのか確認する方法か (2)一次元でも二次元でも格納できる引数の指定方法 をご存じの方、ぜひお教え願います。><

  • [arduino]数値の大きなデータを二次配列へ

    シリアル通信で得たデータを二次元配列へ格納するために、 以前では、 if(Serial.available()>120){ for(int k=0;k<8;k++){ for(int l=0;l<15;l++){ //読み込んだ値を配列に代入 matrix[k][l]=Serial.read(); } } } このようなやり方で読み込んだ値を二次元配列に代入していたのですが、 128個以上のデータを扱いたい場合、Serial.availableでは保持できず、困っています。 方法として、 (1)一つずつデータを読み込み、128回ループを繰り返し配列に貯めていく。その後配列を2次元配列に代入する。 (2)一つデータを読みこんだら二次元配列の1行目1列目のドットに格納、もう一つデータを読みこんだら二次元配列の1行目2列目のドットに格納…というように、 読みこんだデータをそのまま二次元配列のそれぞれの場所へ格納していく。 というような二つの方法を思いついたのですが、 (1)の方法では、配列にデータを貯蓄していくコードをこのように↓書いたのですがうまくいかず、 for(int i=0;i<128;i++){ if(Serial.available()>0){ data[128] = Serial.read(); } } (2)の方法では、データを二次元配列のそれぞれの場所へ格納していく指定方法が分かりませんでした。 正しい書き方や、良いアイデアをお持ちの方がいましたら、是非御教授お願いします。

  • 2次元リスト

    2次元のリスト構造でデータを格納したいのですが、2次元目のリストを複数作らなければならくて、その分の変数名をユニークにするのが、大変なのですが、なにかいい方法はないでしょうか?

    • ベストアンサー
    • Java
  • Fortran99で複数ファイルの読み込み

    Fortran99で有限要素法の解析プログラムを作成しています。 要素番号と節点番号、各節点の座標を三次元の配列にまとめて格納したく、 複数のcsvファイルを相互に参照しながら配列に読み込みたいと思っていますが、 その方法が分かりません。 具体的には、一つ目のファイル(ex1.csv)の中身が、 1 1 2 10 11 20 21 30 31 2 2 3 11 12 21 22 31 32 3 3 4 12 13 22 23 32 33 ........ と配列になっており、1列目が要素番号、2~8列目が節点番号としています。 二つ目のファイル(ex2.csv)の中身が、 1 0 0 0 2 5 0 0 3 10 0 0 4 15 0 0 5 20 0 0 ..... となっており、1列目が節点番号、2~4列目がそれぞれ、x, y, z座標となっています。 一つ目のファイルは、 open(10, file = 'ex1.csv', status = 'old', action = 'read', position = 'rewind') do ELEM = 1, MAXELEM read(10, *) (ELEMDATA(ELEM, m, 1), m = 1, 8) enddo close(10) と書き、全ての要素と節点番号を三次元配列の一、二次元目に読み込みました。 次に、ex1.csvの節点番号(2~8列目)の番号を読み取り、その番号をex2.csvの1列目 から探し出して、配列の三次元目に格納したいと思っています。 宜しくお願い致します。

  • command.com上でのcmdの呼び出し

    質問です。 WindowsのDOS窓は基本的にwin上で走るエミュレータだと聞いたのですが、16bitエミュレータのcommand.com上でcmd.exeが呼び出せるのは、どういう仕組みになっているのでしょうか。 ただ、16bitエミュレータ上で32bitのエミュレータを起動したと考えれば良いとは思うのですが、心なしかcommand.com単体のときよりもcommand.com上で呼び出したcmd.exeのほうが、キー入力のエコーバックも早い用に感じます。 ネットで調べてみると、呼び出すたびに切り替えているのではという意見もありましたが、XP上で開いたcommand.comからcmd.exeを呼び出した状態でNASMでアセンブルした16bitのcomファイルが実行できるので、ただ切り替えているだけではないのではないかと疑問が消えません。 また、スタートメニューでファイル名を指定して実行するときに、16bitのcomファイルを指定すると、基本的にはcmdが立ち上がって実行され、プロンプト以外画面には何も表示されないで実行終了となるのですが、2割ほどの確率でcommand.comが立ち上がり、きちんと実行されることがあり余計に混乱しています。 どなたか詳しい方がいらっしゃったら、ご解説を宜しく御願い致します。

頭皮の痒みとかさぶた
このQ&Aのポイント
  • 頭皮にフルコートfを使っても大丈夫?
  • 頭皮の痒みとかさぶたに対し、フルコートfは効果的か?
  • 頭皮のケアにおすすめのフルコートf
回答を見る

専門家に質問してみよう