Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> software >> Microsoft Access >> .

Come estrarre file di Excel da più cartelle Con VBA

Sapendo come estrarre i file di Excel da più cartelle utilizzando Visual Basic, Applications Edition (VBA ), è possibile risparmiare tempo quando hai bisogno di cercare il computer per i file di Excel per memorizzarli in una cartella. VBA può essere utilizzato in applicazioni di Microsoft Office come Excel per automatizzare le attività di routine , come la ricerca di file in cartelle . Il modo migliore per la ricerca di file in più cartelle è quello di utilizzare la programmazione ricorsiva . Programmazione ricorsiva è usata quando si ha bisogno di una funzione di chiamare se stesso dall'interno della funzione . Cose che ti serviranno
Microsoft Office
Mostra più istruzioni
1

lancio di Microsoft Office Excel , fare clic su " Developer ", e fare clic su " Visual Basic " per avviare l' Editor VB . Fai clic sul menu "Inserisci" e fare clic su "Modulo" per inserire un nuovo modulo di codice
2

Digitare quanto segue per creare una nuova sotto- procedura : .

Dim colFiles As New Collection
3

Copia e incolla il seguente per creare le variabili :

Dim extractPath As String

Dim fileName As String Dim

Ruolo As Integer
4

Definire il percorso in cui si desidera copiare i file di Excel trovati :

extractPath = " C : \\ Temp \\ "
5

Aggiungere il seguente codice per chiamare la funzione che trova i file di Excel per l'estrazione :

colFiles RecursiveDir , "F : \\ moreExcelFiles \\ ", " . * xlsx ", True
6

Aggiungere il seguente codice per copiare i file trovati per il percorso definito nel Punto 3 :

Dim vFile As Variant

Ogni vFile in colFiles
Ruolo

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

nomefile = Right ( vFile , Len ( vFile ) - Ruolo ) per

FileCopy vFile , extractPath & fileName

Successivo vFile

End Sub
7

definire la funzione " RecursiveDir " per cercare le cartelle e sotto- cartelle per i file di Excel :

Public Function RecursiveDir ( colFiles Come Collection , _ < br

strFolder > String, _

strFileSpec As String , _

bIncludeSubfolders As Boolean ) per

Dim strTemp As String Dim

colFolders Come nuova Collezione

Dim vFolderName As Variant

strFolder = TrailingSlash ( strFolder ) per

strTemp = Dir ( strFolder & strFileSpec ) per

Do While strTemp < > ; vbNullString

colFiles.Add strFolder & strTemp

strTemp = Dir

loop

bIncludeSubfolders Poi

strTemp = Dir ( strFolder , vbDirectory ) per

Do While strTemp < > vbNullString

( strTemp < > " . ") e ( strTemp < > ".." ) Poi

( GetAttr ( strFolder & strTemp ) e vbDirectory ) < > 0 Then

colFolders.Add strTemp

End If End If


strTemp = Dir

loop

Ogni vFolderName In colFolders

Chiama RecursiveDir ( colFiles , strFolder & vFolderName , strFileSpec , True)

Successivo vFolderName

End If End Function


8

Creare la seguente funzione per aggiungere o rimuovere il "\\" dai percorsi delle cartelle :

pubblico TrailingSlash funzione ( strFolder As String ) As String

If Len ( strFolder ) > 0 Then

Destra ( strFolder , 1 ) = " \\ " Allora

TrailingSlash = strFolder

Else

TrailingSlash = strFolder & " \\ "

End If

End If End Function



9

Fare clic all'interno del sub- procedimento " extractExcelFiles " e fare clic su "F5" per eseguire il programma .

 

software © www.354353.com