■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#27435-0dir関数ngmo2002-03-10(日) 14:05
     #27436-0RE#27435:dir関数藤代千尋2002-03-10(日) 14:26
     #27439-0RE#27436:dir関数ngo2002-03-10(日) 18:54
#27435-0
dir関数
dir関数を使ってCドライブ配下のディレクトリとサブディレクトリ、ファイルすべて表示させたいのですが、
どうすればよいのでしょうか?

cドライブ直下のディレクトリを表示させるのはヘルプに載っていたのですが、さらにその下にあるサブディレクトリを
表示させるというのがわからず困っています。

アドバイスよろしくおねがいします。

一応ヘルプではこんなふうに載っていました・・・

MyPath = "c:\"   
MyName = Dir(MyPath, vbDirectory)   
Do While MyName <> ""   
   If MyName <> "." And MyName <> ".." Then
      If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
         Debug.Print MyName      ' フォルダであれば、それを表示します。
      End If
   End If
   MyName = Dir               
Loop
#27436-0
RE#27435:dir関数
> dir関数を使ってCドライブ配下のディレクトリとサブディレクトリ、ファイルすべて表示させたいのですが、
> どうすればよいのでしょうか?
> 
> cドライブ直下のディレクトリを表示させるのはヘルプに載っていたのですが、さらにその下にあるサブディレクトリを
> 表示させるというのがわからず困っています。

取得したものがフォルダであれば、それを配列などに保持しておき、
ディレクトリ走査完了後に、保持したフォルダをさらに調べます。

この動作には、普通「再帰」を利用します。
再帰の例:
Sub Command1_Click()
    TreeWalker "C:\"
End Sub

Sub TreeWalker(Byval isPath As String)
    ....

    sFile = Dir(....)
    Do Until sFile = ""
        ....
    Loop
    
    For i = 0 to cFolder
        TreeWalker isPath & sFolder(i) & "\"  '' ココ!
    Next
End Sub

でもまあ、ファイル システム オブジェクトを使う方が簡単だったりします。(^^;)
#ヘルプで調べてみましょう。(^^)/
#27439-0
RE#27436:dir関数
返答ありがとうございました。

さっそく試してみたいと思います。
このページと関連する記事:
#43190-0Dir関数でフォルダ名のみを抜き出すには?2001-05-19(土) 19:45
#24209-0フォルダ内のファイルを取得したいです。2000-06-26(月) 11:44
#2286-0ファイル名の取得方法1999-10-13(水) 19:51
#5639-0フォルダの一覧表作成について1999-09-22(水) 10:26
#3233-0隠しディレクトリをカウントしたい1999-08-15(日) 01:25
#35866-0フォルダの中にあるサブフォルダ名の取得2000-12-22(金) 17:03
#8180-0メニューにサブメニューを追加2000-05-22(月) 18:15
#7415-0Dir関数でサブフォルダも調べるには2000-02-08(火) 10:59
#27931-0フルパスの取得方法を教えて下さい2000-08-14(月) 19:53
#1982-0サブディレクトリ名の取得1999-09-20(月) 13:16
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)