- ベストアンサー
エクセルのマクロ
エクセルのマクロ(VBA?)で、あるフォルダ内のファイル名を取得する(拡張子が.txtのもだけ)関数があれば教えてほしいのですが・・・
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
どもども 田吾作7です Dim wkPath As String Dim wkFile As String wkPath = "c:\*.txt" ' パスを設定 wkFile = Dir(wkPath) ' 最初のファイル取得 Do While wkFile <> "" ' 取得できなくなるまでループ Debug.Print wkFile ' 出力 wkFile = Dir ' 次のファイル名を取得 Loop こんな感じ でわでわ
その他の回答 (1)
- TAGOSAKU7
- ベストアンサー率65% (276/422)
どもども田吾作7です。 ソートですか?たぶん文字コードでソートされた順番で取得してると思いますよ。。 別の質問で >f_name = "d:\" + Trim(Str(i)) + ".txt" としていましたね? これで取得すると[1.txt],[10.txt],[2.txt],・・・[9.txt]となるはずです。 もしかして[1.txt],[2.txt],・・・[10.txt]としたいのですか? これを回避するためには、桁を揃えるようにしましょう。 f_name = "d:\" + format(i,"00) + ".txt" とすると、ファイル名は今までとちょっと変わってしまいますが [01.txt],[02.txt],[03.txt],・・・[10.txt] という順番に取得可能だと思います。 でわでわ
補足
ありがとうございます。できました。 ついでに取得したファイル名をソート(五十音順)して、何か処理等するには、配列に入れて、配列をソートするようなことをすればよいのでしょうか?そのほか何か良い方法はあるのでしょうか? よろしくお願いします。