• ベストアンサー

フォルダの中身を列挙する方法

こんにちわ。 VB6.0でプログラムを作る練習をしているのですが、行き詰ったので質問させてください。 やりたいことは・・・ 1.指定したフォルダの中身のファイル名をテキストファイルだけリストBOXに表示。 2.それらテキストファイルの中身を昇順で連結して、新しいファイルを作る。 1はフォルダ参照ダイアログで、フォルダ名を取得。までは出来ました。 続きのフォルダの中身の参照部分がDir関数とforを使うのかな?と思い、MSDNライブラリを見たのですが、いまいちフォルダの中身を列挙する方法が分からないので教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • guruguru2
  • ベストアンサー率29% (39/132)
回答No.4

よくよく考えたら vbDirectory Or vbHidden Or vbSystem だと通常のファイルは表示されないですね。 vbNormal ですね。 あと、 If (GetAttr(Text1.Text & strDirFile) And vbDirectory) _ And (strDirFile <> "." And strDirFile <> "..") Then って必要なのでしょうか? あと、テキストファイルのみの表示なら Dir$(Text1.Text & "*.txt") でokです。

mari1215
質問者

お礼

ありがとうございました。 無事にテキストファイルだけすべて表示できました。 なぜか同じファイル名が先頭に2つはいってるけど、それはなんとかしてみます。 どうもお世話になりました^^

その他の回答 (3)

  • guruguru2
  • ベストアンサー率29% (39/132)
回答No.3

#1です。 こんにちわ。 Text1.Textの値を教えてください。 デバッグで strDirFile = Dir$(Text1.Text, vbDirectory Or vbHidden Or vbSystem) の strDirFile の値を確認してみてください。 空なら実際にそのフォルダ内に何も入っていないか Text1.Textの値が間違っているかです。

mari1215
質問者

お礼

Text1.Textの値はユーザー指定したフォルダの名前プラス\マークにしてあります。 たとえば C:\file\sample\ です。

mari1215
質問者

補足

ためしにプログラムを少し変えたら、結果がフォルダ内のテキストファイルがひとつだけ表示されました。 List1.Clear Dim strDirFile As String strDirFile = Dir$(Text1.Text)←ここだけ List1.AddItem strDirFile 'strBMPFile が空になるまで繰り返し Do While strDirFile <> "" If (GetAttr(Text1.Text & strDirFile) And vbDirectory) _ And (strDirFile <> "." And strDirFile <> "..") Then List1.AddItem strDirFile End If strDirFile = Dir$ '次のファイル名に Loop

  • guruguru2
  • ベストアンサー率29% (39/132)
回答No.2

ごめんなさい。(^^; トップのURLじゃしょーがないですね…。 こっちでどうぞ。

参考URL:
http://www.bcap.co.jp/hanafusa/VBHLP/Fil_Dirkansu.htm
mari1215
質問者

お礼

ありがとうございます。 そこのコードを参考に作ってみたんですが・・・ List1.Clear Dim strDirFile As String strDirFile = Dir$(Text1.Text, _ vbDirectory Or vbHidden Or vbSystem) 'strBMPFile が空になるまで繰り返し Do While strDirFile <> "" If (GetAttr(Text1.Text & strDirFile) And vbDirectory) _ And (strDirFile <> "." And strDirFile <> "..") Then List1.AddItem strDirFile End If strDirFile = Dir$ '次のファイル名に Loop 私の場合はText1.Textにフォルダのパスが入っているので、それでいいと思うのですが実行してもリストになにも表示されません。 どこかまずいところがありますか?

  • guruguru2
  • ベストアンサー率29% (39/132)
回答No.1

こんにちわ。(^^) 下記のURLを参考にしてみてください。

参考URL:
http://www.bcap.co.jp/hanafusa/

関連するQ&A