現在、
Excel
1 Set objFile = FSO.GetFolder(Path).Files 2 For Each fList In objFile 3 If Right(fList.Name, 3) <> "csv" Then GoTo Next_File 4 Call CSV_READ_Macro(fList, Array) 5 Next fList
という処理を行っていますがファイルオーダーを
処理1
処理2
処理3
処理4・・・
という並びで行ってほしいと依頼が来ました。
汎用性を持たせたいので個別の「処理」という文字列を使わないで順序を作りたいのですが
良い方法、アドバイスはありますでしょうか、それとも配列に入れて+Counter値でパス名を
作るのが良い方法でしょうか。
ご意見ご指導よろしくお願いします。
やりたいことが少し分からないのですが、FSO,GetFolder(Path).Files で列挙されたファイル名を昇順(あるいは降順)で並び替えたい(ソートしたい)と言うことなのでしょうか? 例えばfile2.txt, file3.txt, file1.txt なら、file1.txt, file2.txt, file3.txt とのように。
その通りです。
ただ10個以上ファイルがある場合純然たる昇順だと1,2、~とはならず1,10,2という並びになるのが昇順だと考えますが、依頼は1,2,3,4,5という並びで処理してほしい、とのことです。
アプリはExcelですか、Accessですか、それとも、アプリに関わりなくVBA上のみで完結したいですか。
Excelならシート上で並べ替え、Accessならクエリで並べ替えができます。
アプリはExcelです。シート上での並べ替えは思いつきませんでした。
作業用シートを作って並び替えて再度配列に入れて処理する事を考えてみたいと思います。
ありがとうございます。
作業列で「処理」の部分を取り除いて数値に変換して、それを昇順にソートすればいいですね。
実際のファイル名は具体的にはどのようになっていますか。
処理n.csv でしょうか。(nは0以上の整数の数字)
概ねその通りです。
処理中x.csv(個数は可変)
止め.csv(常に同じ名前)
が1フォルダにまとめられています。
回答1件
あなたの回答
tips
プレビュー