- ベストアンサー
あるルールのあるファイルの呼び出しについて
どうも行き詰ってしまったので教えてください。 あるフォルダーに、「整数.csv」というファイルが複数あります。 これを取り出して、拡張子を除く整数の部分だけを取り出し 若い順番から処理を行いたいのですが 現状として かならず、順番に呼び出されているので、正常に動作しているのですが これは、dir関数の仕様(その他の仕様)上 間違い無いと判断してよいのでしょうか? 動いたり動かなかったりしたら問題なもので ちなみに現在までには、このようなコードを書いてます。 'ファイル名を列記する Dim StrTemp(256) As String 'ファイル名用 IntFileCount = 0 'ファイル数を数える i = 0 'ファイルを探す 最初 StrTemp(i) = Dir(StrInputPassName & "\*.csv", vbNormal) Do Until StrTemp(i) = "" i = i + 1 IntFileCount = IntFileCount + 1 StrTemp(i) = Dir Loop '取得したファイル名を数字に変える Dim IntFilename(256) As Integer Dim VerTemp As Variant i = 0 Do Until i = IntFileCount VerTemp = Split(StrTemp(i), ".") '拡張子の前だけ取り出す IntFilename(i) = CInt(VerTemp(0)) '整数型にして代入 i = i + 1 Loop 'この後ファイルを順番に呼び出したい Open 一番若いファイル名 For Input as #1 Open 二番目に若いファイル名 for input as #2 open 一番若く無いファイル名 for input as #? 基本的にこの後行おうと思っている作業は、同一なので Do Loop で繰り返し処理を行えれば理想 複数のファイルを一度に開く必要はなし
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
- Hayashi_Trek
- ベストアンサー率44% (366/818)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
お礼
回答ありがとうございました。 最初の回答からソートしなくてはと 自分で考えていたのですが 以前にそのような事をした事ないかな~と よく考えてみたら、テーブルを作って、SQLで取り出してました。 よってソートのアルゴリズムなど考えた事も無かったので バブルソート参考になりました。 とりあえず、#4さんの回答で組んで 明日は、雨みたいなのでちょっと実装&理解にチャレンジしてみます。 ありがとうございました。