VB6 程式翻譯
請問專家能否解說下方的程式
很想了解下方的程式,卻有看沒懂?? ="=
勞煩專家們解說,謝謝!
Function GetAllFiles(ByVal path As String, ByVal filespec As String, Optional RecurseDirs As Boolean) As Collection
Dim spec As Variant
Dim file As Variant
Dim subdir As Variant
Dim subdirs As New Collection
Dim specs() As String
' initialize the result
Set GetAllFiles = New Collection
' ensure that path has a trailing backslash
If Right$(path, 1) <> "\" Then path = path & "\"
' get the list of provided file specifications
specs() = Split(filespec, ";")
' this is necessary to ignore duplicates in result
' caused by overlapping file specifications
On Error Resume Next
' at each iteration search for a different filespec
For Each spec In specs
' start the search
file = Dir$(path & spec)
Do While Len(file)
' we've found a new file
file = path & file
GetAllFiles.Add file, file
' get ready for the next iteration
file = Dir$
Loop
Next
' first, build the list of subdirectories to be searched
If RecurseDirs Then
' get the collection of subdirectories
' start the search
file = Dir$(path & "*.*", vbDirectory)
Do While Len(file)
' we've found a new directory
If file = "." Or file = ".." Then
' exclude the "." and ".." entries
ElseIf (GetAttr(path & file) And vbDirectory) = 0 Then
' ignore regular files
Else
' this is a directory, include the path in the collection
file = path & file
subdirs.Add file, file
End If
' get next directory
file = Dir$
Loop
' parse each subdirectory
For Each subdir In subdirs
' use GetAllFiles recursively
For Each file In GetAllFiles(subdir, filespec, True)
GetAllFiles.Add file, file
Next
Next
End If
End Function
1 個解答
- 9 年前最佳解答
此function 是可指定路徑,檔案規格 它會把所有符合的檔案找出來,包含子目錄.
碰到子目錄時,它會呼叫自己(遞迴),直至找到結束,
其結果以collection 的方式存在(GetAllFiles.Add file, file 存入)
'備註英文就是說明,用Google 翻譯一下就了解了.
個別指令主要是檔案目錄操作,可用debug.print 看它是在作什麼