Tecnología

Inicio

Cómo utilizar Excel FileDialog obtener la lista de archivos de un directorio

Cómo utilizar Excel FileDialog obtener la lista de archivos de un directorio


Microsoft Excel no se trata sólo de datos tabulares, cálculos y gestión de la información. Cualquier ávido usuario puede convertir Excel en una potente herramienta para la gestión de carpetas, la organización de archivos y hacer el seguimiento de tareas. Puede crear una macro que utiliza un objeto FileDialog VBA para explorar rápidamente un directorio y la lista de su contenido en una hoja de cálculo. Tras la ejecución, esta macro le pedirá a los usuarios elegir una carpeta, y posteriormente aparecerá una lista de los nombres de sus contenidos en una sola columna.

Instrucciones

Crear la macro

1 Iniciar Microsoft Excel. Pulse la tecla "Ctrl + O", seleccione el libro y luego haga clic en "Abrir". Para crear un nuevo libro en su lugar, presione "CTRL + N."

2 Pulse la tecla "ALT + F8" para abrir el cuadro de diálogo Macros. Tipo de "GetFolderContents" en el cuadro Nombre de la macro y haga clic en "Crear".

3 Introduzca el código siguiente en el editor de VBA.

GetFolderContents sub ()

Dim xDir, xFilename, f, FSO As Object

Set FSO = CreateObject ( "Scripting.FileSystemObject")

Con Application.FileDialog (msoFileDialogFolderPicker)

.InitialFileName = ThisWorkbook.Path & "\"

.title = "Seleccione una carpeta a la lista de archivos"

.AllowMultiSelect = False

.Espectáculo

Si .SelectedItems.Count <> 0 Then

xDir = .SelectedItems(1) & "\"

Terminara si

Terminar con

Si (MsgBox (desde el símbolo: = "? ¿Quiere incluir los nombres de las subcarpetas", _

Botones: = vbYesNo, Título: = "Incluir subcarpetas") = vbYes) A ​​continuación,

GoTo ListFolders

Ir ListFiles

Más

Ir ListFiles

Terminara si

ListFolders:

For Each f In fso.GetFolder(xDir).SubFolders

ActiveCell.Value = ".. \" & f.Name

ActiveCell.Offset (1, 0) .Seleccionar

Siguiente f

ListFiles:

For Each f In fso.GetFolder(xDir).Files

ActiveCell.Value = f.Name

ActiveCell.Offset (1, 0) .Seleccionar

Siguiente f

Set FSO = Nada

End Sub

4 Pulse la tecla "ALT + Q" para cerrar el editor de VBA y volver a su libro.

Utilizar la macro

5 Resaltar una celda de la hoja. Pulse la tecla "ALT + I" y luego "C" para crear una columna en blanco. Seleccione la primera celda de la nueva columna. Si desea visualizar la lista en una hoja de cálculo nueva en su lugar, pulse la tecla "SHIFT + F11."

6 Pulse la tecla "ALT + F8" para abrir el cuadro de diálogo Macros. Seleccione "GetFolderContents" y haga clic en "Ejecutar".

7 Seleccione la carpeta o directorio desde el que desea mostrar el contenido. Haga clic en "Aceptar".

8 Haga clic en "Sí" si desea que la macro a la lista también los nombres de las subcarpetas o haga clic en "No" a la lista única archivos. Espere a Excel para terminar de llenar la nueva columna con el contenido de la carpeta seleccionada.

Consejos y advertencias

  • De forma predeterminada, las macros están deshabilitadas en Microsoft Excel. Para habilitarlos, haga clic en el botón de Microsoft Office y luego ir a "Opciones de Excel". Asegúrese de que "Mostrar ficha Programador" está marcada. Ir a "Centro de confianza" y haga clic en "Configuración del Centro de confianza." Vaya a "Configuración de macros" y luego elegir la opción "Habilitar todas las macros". Haga clic en "OK" en ambas ventanas, guarde los libros abiertos y reinicie Excel.