OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

エクセルのマクロ

  • すぐに回答を!
  • 質問No.103637
  • 閲覧数127
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 13% (21/151)

エクセルのマクロ(VBA?)で、あるフォルダ内のファイル名を取得する(拡張子が.txtのもだけ)関数があれば教えてほしいのですが・・・
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル12

ベストアンサー率 65% (276/422)

どもども 田吾作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

お礼率 13% (21/151)

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

その他の回答 (全1件)

  • 回答No.2
レベル12

ベストアンサー率 65% (276/422)

どもども田吾作7です。 ソートですか?たぶん文字コードでソートされた順番で取得してると思いますよ。。 別の質問で >f_name = "d:\" + Trim(Str(i)) + ".txt" としていましたね? これで取得すると[1.txt],[10.txt],[2.txt],・・・[9.txt]となるはずです。 もしかして[1 ...続きを読む
どもども田吾作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で解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ