λογισμικό

Γνώση Υπολογιστών >> λογισμικό >  >> Microsoft Access

Πώς να Απόσπασμα Excel αρχεία από πολλούς φακέλους με VBA

Γνωρίζοντας πώς να εξαγάγετε τα αρχεία Excel από πολλούς φακέλους χρησιμοποιώντας τη Visual Basic for Applications ( VBA ) μπορεί να σας εξοικονομήσει χρόνο , όταν θα πρέπει να αναζητήσετε τον υπολογιστή σας για αρχεία Excel και να τις αποθηκεύσετε σε ένα φάκελο . VBA μπορεί να χρησιμοποιηθεί σε εφαρμογές του Microsoft Office , όπως το Excel για να αυτοματοποιήσουν εργασίες ρουτίνας όπως η αναζήτηση για τα αρχεία σε φακέλους . Ο καλύτερος τρόπος για να αναζητήσετε τα αρχεία σε πολλούς φακέλους είναι με τη χρήση αναδρομικών προγραμματισμού . Αναδρομική προγραμματισμού χρησιμοποιείται όταν χρειάζεστε μια λειτουργία για να ζητήσει η ίδια μέσα από τη λειτουργία . Τα πράγματα που θα χρειαστείτε για Microsoft Office
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Εκκίνηση του 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 < p > Προσθέστε τον παρακάτω κώδικα για να καλέσετε τη λειτουργία που θα βρείτε τα αρχεία Excel για την εξαγωγή :

RecursiveDir colFiles , "F : \\ moreExcelFiles \\ " , " . * xlsx " , True
Η 6 < p> Προσθέστε τον παρακάτω κώδικα για να αντιγράψετε τα αρχεία που βρίσκονται στην διαδρομή που ορίζεται στο Βήμα 3 :

Dim vFile Όπως Παραλλαγή

για Κάθε vFile σε colFiles

pos = InStrRev ( vFile , " \\" , , vbTextCompare )

fileName = Δεξιά ( vFile , Len ( vFile ) - pos )

FileCopy vFile , extractPath & fileName

Επόμενο vFile < br >

End sub ​​
Η 7

Ορίστε τη λειτουργία " RecursiveDir " για να αναζητήσετε τους φακέλους και υπο- φακέλους για τα αρχεία Excel :

Public Function RecursiveDir ( colFiles Όπως Collection , _ < br >

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
< p > 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 & " \\ "

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα