I'm attempting to write a macro that finds a specified file in a PDM server, and then 'Pack-and-Go's' it to a specified local location. I'm using a recursive function and the FileSystemObject to search through a folder and all subfolders on our PDM, and check each file name in every subfolder against the specified search file name. For some reason, though, the macro isn't checking every file. It will only check through a seemingly random set of files in the folder, ignoring others, and then it will move on to the next folder/subfolder. I'm really not sure what the problem is, I've tried debugging and manually printing everything the macro is doing to the Immediate window, but I can't pinpoint why it's just ignoring certain files. I've pasted a simplified version of the recursive file-search code below, I left out the bits of the code that does the Pack-and-Go operation. Any help is appreciated!
Sub main()
Recurse ("C:\Vault\Library")
End Sub
Function Recurse(sPath As String) As String
Dim FSO As New FileSystemObject
Dim myFolder As Folder
Dim mySubFolder As Folder
Set myFolder = FSO.GetFolder(sPath)
For Each mySubFolder In myFolder.SubFolders
Call TestSub(mySubFolder.Path)
Recurse = Recurse(mySubFolder.Path)
Next
End Function
Sub TestSub(ByVal s As String)
Dim FSO As New FileSystemObject
Dim myFolder As Folder
Dim myFile As File
Set myFolder = FSO.GetFolder(s)
For Each myFile In myFolder.Files
If myFile.Name = "EXAMPLE_FILE_NAME.SLDPRT" Then
Debug.Print "FILE FOUND"
'Here is where I'd run a subroutine that performs a Pack-and-Go on the found file
End If
Next
End Sub
SolidworksApi/macros