Skip to content

Commit

Permalink
debug Folder recursion
Browse files Browse the repository at this point in the history
moved into sub-function
  • Loading branch information
artmg committed Apr 13, 2015
1 parent 9841480 commit 190d855
Showing 1 changed file with 32 additions and 16 deletions.
48 changes: 32 additions & 16 deletions mod_off_FilesFoldersSitesLinks.bas
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Const cStrModuleName As String = "mod_off_FilesFoldersSitesLinks"
' generic functions for manipulating filesystem objects
' and web and sharepoint sites and URLs
'
' 150413.AMG debugged recursion by moving into sub-function
' 150316.AMG added recursion into subfolders
' 150304.AMG renamed from mod_exc_FilesFoldersSitesLinks as actually generic
' 150219.AMG added GetURL for hyperlinks
Expand Down Expand Up @@ -159,33 +160,39 @@ Function arrFilteredPathnamesInUserTree( _
' assuuming strFilter is single element but delimited (e.g. ; or | ), break it into array for easier match looping

' first add the current
AddMatchingNamesFromFolderToArray strArrReturn, strFolderName, strFilter, intElement
AddMatchingNamesFromFolderToArray strArrReturn, strFolderName, strFilter, intElement, bRecurse

If bRecurse Then ' do tree not just folder
Dim fso As Scripting.FileSystemObject
Dim fsoFolder As Scripting.folder
Dim fsoSubFolder As Scripting.folder
Set fso = New Scripting.FileSystemObject
Set fsoFolder = fso.GetFolder(strFolderName)
'Application.ScreenUpdating = False

For Each fsoSubFolder In fsoFolder.SubFolders
AddMatchingNamesFromFolderToArray strArrReturn, fsoSubFolder.Path, strFilter, intElement
Next fsoSubFolder
End If
' If bRecurse Then ' do tree not just folder
' Dim fso As Scripting.FileSystemObject
' Dim fsoFolder As Scripting.folder
' Dim fsoSubFolder As Scripting.folder
'
' Set fso = New Scripting.FileSystemObject
' Set fsoFolder = fso.GetFolder(strFolderName)
' 'Application.ScreenUpdating = False
'
' For Each fsoSubFolder In fsoFolder.SubFolders
' AddMatchingNamesFromFolderToArray strArrReturn, fsoSubFolder.Path, strFilter, intElement, bRecurse
' Next fsoSubFolder
' End If
End If

arrFilteredPathnamesInUserTree = strArrReturn
End Function


Function AddMatchingNamesFromFolderToArray(strArray() As String, strFolderName As String, strFilter As String, intElement As Integer)
Function AddMatchingNamesFromFolderToArray( _
strArray() As String _
, strFolderName As String _
, strFilter As String _
, intElement As Integer _
, Optional bRecurse As Boolean = True _
)
Dim fso As Scripting.FileSystemObject
Dim fsoFolder As Scripting.folder
Dim fsoFile As Scripting.file
Set fso = New Scripting.FileSystemObject

Set fso = New Scripting.FileSystemObject
Set fsoFolder = fso.GetFolder(strFolderName)

For Each fsoFile In fsoFolder.files
Expand All @@ -203,6 +210,15 @@ Function AddMatchingNamesFromFolderToArray(strArray() As String, strFolderName A
End If
Next fsoFile

' recurse into downlevel folders if required
If bRecurse Then
Dim fsoSubFolder As Scripting.folder

For Each fsoSubFolder In fsoFolder.SubFolders
AddMatchingNamesFromFolderToArray strArray, fsoSubFolder.Path, strFilter, intElement, bRecurse
Next fsoSubFolder
End If

End Function


Expand Down

0 comments on commit 190d855

Please sign in to comment.