• ベストアンサー

エクセルのマクロ

エクセルのマクロ(VBA?)で、あるフォルダ内のファイル名を取得する(拡張子が.txtのもだけ)関数があれば教えてほしいのですが・・・

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

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1

どもども 田吾作7です Dim wkPath As String Dim wkFile As String wkPath = "c:\*.txt" ' パスを設定 wkFile = Dir(wkPath) ' 最初のファイル取得 Do While wkFile <> "" ' 取得できなくなるまでループ Debug.Print wkFile ' 出力 wkFile = Dir ' 次のファイル名を取得 Loop こんな感じ でわでわ

mune
質問者

補足

ありがとうございます。できました。 ついでに取得したファイル名をソート(五十音順)して、何か処理等するには、配列に入れて、配列をソートするようなことをすればよいのでしょうか?そのほか何か良い方法はあるのでしょうか? よろしくお願いします。

その他の回答 (1)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

どもども田吾作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] という順番に取得可能だと思います。 でわでわ

関連するQ&A