Εκκίνηση του Microsoft Office Excel , κάντε κλικ στο " Developer " και κάντε κλικ στο " Visual Basic" για να ξεκινήσει το πρόγραμμα επεξεργασίας VB . Κάντε κλικ στο "Εισαγωγή" μενού και κάντε κλικ στο " Ενότητα " για να εισάγετε μια νέα λειτουργική μονάδα κώδικα 2
Πληκτρολογήστε το παρακάτω, για να δημιουργήσετε ένα νέο υπο - διαδικασία : .
Δημ. colFiles As New Collection
εικόνων 3
αντιγραφή και επικόλληση του παρακάτω, για να δημιουργήσει τις μεταβλητές σας :
Dim extractPath Όπως String Dim
fileName Όπως String Dim
pos As Integer
4
Ορίστε τη διαδρομή όπου θέλετε να αντιγράψετε τα αρχεία Excel που βρέθηκαν :
extractPath = " C : \\ Temp \\ "
5
Προσθέστε τον παρακάτω κώδικα για να καλέσετε τη λειτουργία που θα βρείτε τα αρχεία Excel για την εξαγωγή :
RecursiveDir colFiles , "F : \\ moreExcelFiles \\ " , " . * xlsx " , True
Η 6
Προσθέστε τον παρακάτω κώδικα για να αντιγράψετε τα αρχεία που βρίσκονται στην διαδρομή που ορίζεται στο Βήμα 3 :
Dim vFile Όπως Παραλλαγή
για Κάθε vFile σε colFiles
pos = InStrRev ( vFile , " \\" , , vbTextCompare )
fileName = Δεξιά ( vFile , Len ( vFile ) - pos )
FileCopy vFile , extractPath & fileName
Επόμενο vFile
End sub
Η 7
Ορίστε τη λειτουργία " RecursiveDir " για να αναζητήσετε τους φακέλους και υπο- φακέλους για τα αρχεία Excel :
Public Function RecursiveDir ( colFiles Όπως Collection , _
strFolder Όπως String , _
strFileSpec As String , _
bIncludeSubfolders Όπως Boolean )
Dim strTemp Όπως String Dim
colFolders Όπως νέα Συλλογή
Dim vFolderName Όπως Παραλλαγή
strFolder = TrailingSlash ( strFolder )
strTemp = Dir ( strFolder & strFileSpec )
Do While strTemp <> ? vbNullString
colFiles.Add strFolder & strTemp
strTemp = Dir
Loop
Αν bIncludeSubfolders τότε
strTemp = Dir ( strFolder , vbDirectory )
Do While strTemp <> vbNullString
Αν ( strTemp <> ".") και ( strTemp <> " .. ") Στη συνέχεια
Αν
( GetAttr ( strFolder & strTemp ) και vbDirectory ) <> 0 τότε
colFolders.Add strTemp
End If
End If
strTemp =
Dir
Loop
For Each vFolderName Σε colFolders
Καλέστε RecursiveDir ( colFiles , strFolder & vFolderName , strFileSpec , True )
Επόμενο vFolderName
End If
End Function
8
Δημιουργήστε την ακόλουθη συνάρτηση για να προσθέσετε ή να αφαιρέσετε το "\\" από τις διαδρομές για τον φάκελο :
Δημόσιο TrailingSlash λειτουργία ( strFolder As String ) As String
Αν Len ( strFolder ) > 0 τότε
Εάν Δεξιά ( strFolder , 1 ) = " \\ " Τότε
TrailingSlash = strFolder
Else
TrailingSlash = strFolder & " \\ "
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα