“Conocimientos software>Microsoft Access

Cómo extraer los archivos de Excel de varias carpetas con VBA

2012/8/23
Conocer cómo extraer archivos de Excel de varias carpetas utilizando Visual Basic para Aplicaciones ( VBA) que puede ahorrar tiempo cuando tenga que buscar en su ordenador los archivos de Excel para almacenarlos en una carpeta. VBA se puede utilizar en aplicaciones de Microsoft Office como Excel para automatizar tareas rutinarias, como la búsqueda de archivos en carpetas. La mejor manera de buscar archivos en varias carpetas es mediante el uso de programación recursiva. Programación recursiva se utiliza cuando se necesita una función para llamarse desde dentro de la función. Cosas que necesitará
Microsoft Office
Ver Más instrucciones
1

lanzamiento de Microsoft Office Excel , haga clic en " programador", y haga clic en "Visual Basic " para iniciar el Editor de Visual Basic . Haga clic en el menú " Insertar" y haga clic en " módulos" para insertar un nuevo módulo de código
2

Escriba lo siguiente para crear un nuevo sub-procedimiento : .

ColFiles Dim As New Collection
3

Copia y pega el siguiente para crear sus variables:

extractPath dévil como secuencia

fileName Dim As String Dim

pos As Integer
4

Defina la ruta en la que desea copiar los archivos de Excel encontrados :

extractPath = "C : \\ temp \\ "
5

Agregue el siguiente código para llamar a la función que va a buscar los archivos de Excel para la extracción :

colFiles RecursiveDir , "F : \\ moreExcelFiles \\", " *. xlsx " , Verdadero
6 < p> Agregue el siguiente código para copiar los archivos que se encuentran en el camino definido en el paso 3 :

vFile Dim As Variant

For Each vFile en colFiles

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

fileName = Right ( vFile , Len ( vFile ) - pos)

FileCopy vFile , extractPath y fileName

Siguiente vFile

End sub ​​
7

Definir la función " RecursiveDir " para buscar las carpetas y sub- carpetas para archivos de Excel :

Public Function RecursiveDir ( colFiles como colección , _

strFolder As String , _

strFileSpec As String , _

bIncludeSubfolders As Boolean ) guía

strTemp dévil como secuencia

colFolders Dim Como New Collection Hotel

vFolderName Dim As Variant

strFolder = TrailingSlash ( strFolder )

strTemp = Dir ( strFolder y strFileSpec )

Do While strTemp < > ; vbNullString

colFiles.Add strFolder y strTemp

strTemp = Dir

Loop

Si bIncludeSubfolders Entonces

strTemp = Dir ( strFolder , vbDirectory )

Do While strTemp < > vbNullString

Si ( strTemp < > ".") Y ( strTemp < > ".." ) Luego

Si ( GetAttr ( strFolder y strTemp ) y vbDirectory ) < > 0 Entonces

colFolders.Add strTemp

End If End If


< p> strTemp = Dir

Loop

For Each vFolderName En colFolders

Call RecursiveDir ( colFiles , strFolder y vFolderName , strFileSpec , True)

Siguiente vFolderName

End If End Function


8

Cree la siguiente función para añadir o quitar el " \\ " de las rutas de las carpetas :

Pública Función TrailingSlash ( strFolder As String ) As String

Si Len ( strFolder ) > 0 entonces

Si Derecha ( strFolder , 1 ) = " \\ " Entonces

TrailingSlash = strFolder

demás

TrailingSlash = strFolder y "\\ "

End If End If


Función End of
9

Haga clic dentro del " extractExcelFiles " sub - procedimiento y haga clic en "F5 " para ejecutar el programa.

Microsoft Access
Cómo abrir un archivo Zip en Excel 2007
Las diferencias entre Microsoft Excel 2007 y versiones anteriores
Cómo importar música en Microsoft Office Access Database
Cómo realizar el seguimiento de peso Watcher Flex Puntos en Excel
¿Cómo realizar cálculos de balance de la cuenta bancaria en las tablas de bases de datos Microsoft Access
Cómo utilizar Excel para encontrar la pendiente de Vista
Cómo copiar las fórmulas de Excel a través de varias filas
Cómo manipular los datos de una tabla dinámica de Excel 2007
Conocimientos Informáticos © http://www.ordenador.online