掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB6で指定フォルダ以下にあるファイル名を列挙するには? (ID:102121)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Dir 関数の場合、入れ子で呼び出す機能が無いので、階層を辿る場合には 少々工夫が必要になりますね(と言いつつ、私も Dir を使う事が多いですが)。 > 単純に、簡単に、 階層を再帰的に走査する場合には、FileSystemObject を使う事も 検討してみてください。高機能な分、Dir よりも若干低速ですが、その分、 取り扱いは Dir よりも簡単になるかと思います。単純かは別として。 > フルパスのファイル名を列挙する方法を教えてください。 別案として、DIR コマンドで列挙するとか。 Option Explicit Private Sub Form_Load() Text1.Text = "C:\Program Files\Microsoft Visual Studio\VB98" Command1.Caption = "列挙" End Sub Private Sub Command1_Click() Dim files() As String files = GetFiles(Text1.Text) '確認用 Dim v As Variant For Each v In files Debug.Print v Next End Sub Public Function GetFiles(ByVal directory As String) As String() Dim wk As String wk = Environ("TMP") & "\" & Format(Now, "yyyyMMddhhmmss") CreateObject("WScript.Shell").Run """" & Environ("COMSPEC") _ & """ /C DIR """ & directory & """ /S /B > """ & wk & """", _ vbNormalFocus, True With CreateObject("Scripting.FileSystemObject").OpenTextFile(wk) Dim s As String If Not .AtEndOfLine Then s = .ReadAll() GetFiles = Split(Left(s, Len(s & ":*") - 2), vbNewLine) .Close End With Kill wk End Function
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.