3

私は現在、このコードを持っています:

Function GetSubDir(ByVal sDir)

Dim oFS As New FileSystemObject
Dim oDir
iCount = 1
Erase subArray()
Set oDir = oFS.GetFolder(sDir)
For Each oSub In oDir.SubFolders
    MsgBox oSubPath
    GetSubDir oSub.Path
    ReDim Preserve subArray(iCount)
    subArray(iCount) = oSub.Path
    iCount = iCount + 1
Next oSub

End Function

ファイルとフォルダを取得するように変更する方法はありますか? MSDN を調べてみましたが、それは私にはかなりなじみがありません。単純な構文の変更ですか、それともコード全体を作り直す必要がありますか? ありがとう

4

2 に答える 2

3

私はそれがかなり可能だと思います-このサンプルコードはファイルを循環させる方法を示しています:

Sub ShowFileList(folderspec)
    Dim fs, f, f1, fc, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(folderspec)
    Set fc = f.Files
    For Each f1 in fc
        s = s & f1.name 
        s = s &  vbCrLf
    Next
    MsgBox s
End Sub

For...Each単にもう1つのサイクルを追加する必要があります。ただし、すべてのファイルとすべてのサブフォルダーを最後の深いレベルまで再帰的に処理する場合は、さらにコーディングが必要になります。ただし、そのようなready-to-goスニペットの多くは、数分のうちにGoogleを使用して明らかになる可能性があります。幸運を!

于 2013-02-26T17:53:06.053 に答える