¿Cómo crear una base de datos de directorio en excel?

Tengo un directorio con muchísimos archivos MP3 y quisiera hacer una base de datos de todos ellos en Excel sin tener que capturar uno por uno y sin hacer capturas de pantalla. ¿Cómo le puedo hacer para pasar los nombres de todos los archivos como si los hubiera capturado?
Espero tu respuesta en:
[email protected].
Gracias.
Base de datos de directorio
Al principio me devane los sesos pensando eso es imposible, pero luego me acorde de un comando muy simple en msdos. Mira haz lo siguiente, metete dentro del directorio donde tienes los archivos. Acto seguido y sin minimizar ese directorio, pulsa win+r esto abrirá el interprete de comandos (también llegas a el desde el botón inicio y ejecutar) Pon la instrucción command y pulsa intro, Esto te abrirá una ventana en msdos con la ruta donde esta situado el directorio de tus archivos mp3. En esa ventana de msdos escribe dir > lista.txt esta instrucción lo que hace es crearte un archivo de texto con el contenido de los archivos y carpetas que tengas en la ventana activa. Después el resto es fácil, abres el excel y abre este archivo txt al hacerlo te aparecerá un asistente para decir como quieres las columnas y los espacios. A mi me funciona muy bien. Suerte con ello.
Base de datos de directorio
Al principio me devane los sesos pensando eso es imposible, pero luego me acorde de un comando muy simple en msdos. Mira haz lo siguiente, metete dentro del directorio donde tienes los archivos. Acto seguido y sin minimizar ese directorio, pulsa win+r esto abrirá el interprete de comandos (también llegas a el desde el botón inicio y ejecutar) Pon la instrucción command y pulsa intro, Esto te abrirá una ventana en msdos con la ruta donde esta situado el directorio de tus archivos mp3. En esa ventana de msdos escribe dir > lista.txt esta instrucción lo que hace es crearte un archivo de texto con el contenido de los archivos y carpetas que tengas en la ventana activa. Después el resto es fácil, abres el excel y abre este archivo txt al hacerlo te aparecerá un asistente para decir como quieres las columnas y los espacios. A mi me funciona muy bien. Suerte con ello.

1 Respuesta

Respuesta
1
Ojalá todas las preguntas ya vinieran -como ésta- con la respuesta incluida.
La verdad es que no sé que pasó, pero parece que alguien ya te respondió.
De hecho, yo también mantengo una base de datos de los MP3 que tengo grabados en cada CD.
Mi proceso es similar, cuento con archivo de MS Excel donde voy acumulando los nombres de los temas que tengo.
Para ello genero un archivo de texto en DOS usando la siguiente secuencia:
CD\misMP3 [Enter]
dir *.MP3 /L > ArchsMP3.txt
El archivo generado guarda los datos (nombre, tamaño, fecha, nombre largo, etc) y en minúsculas solo de los archivos MP3 que halla en el directorio (en mi ejemplo: misMP3)
Ya en mi archivo de MS Excel, doy la opción "Archivo" | "Abrir" y busco en el menu descolgable inferior: "Archivos de texto (*.txt)". Luego cambio al directorio donde se guardó ArchsMP3.txt y le doy doble click.
Automáticamente un asistente guía en el proceso para importar el archivo a una hoja nueva de MS Excel. Acomoda las lineas que aparecen en el asistente para que separe convenientemente las columnas de este archivo.
Luego es necesario algunos ajustes...
Luego, copio este rango y lo pego en mi archivo definitivo.
De esta manera, lo único que escribo es el número de CD donde guardé estos archivos. Y listo!
Esto debería resolver tu primero consulta (lo que no encuentro es cual es la segunda). Si así fuera, agradeceré un comentario y que finalices esta pregunta.
Si no, pregúntame de nuevo.
Un abrazo!
Fernando
Hola, me llamo Esteban y disculpa, pero he apretado mal el crtl+c y ctrl+v y te he preguntado una gansada que no me interesaba, aunque alguna vez se me planteo el problema, lo hice todo a mano, mis verdaderas dudas son estas: te quería consultar sobre dos problemas que no podido resolver:
Hola, te quería hacer una pregunta que no se si tiene una solución practica. Resulta que tengo una plantilla, en la hoja4 tengo en varias celdas (c7) una validación (Datos, Validación), o sea, una lista desplegable para elegir diferentes opciones. El problema surge a veces cuando tengo que agregar algún dato a la lista, ya que todo el procedimiento para agregar ese dato se vuelve medio engorroso. Hay alguna macro, o se te ocurre alguna otra forma de que haga todo el proceso, es decir que cuando agregue un nuevo nombre en c7 no me de el mensaje de error sino que simplemente lo agregue. Se me acaba de ocurrir y funciona muy bien, lo acabo de probar, de definir al grupo de celdas y luego hacerle un hipervínculo, quedo muy bien, pero no quiero que se imprima, ademas me queda la duda si hay algo que lo haga de forma transparente (es decir que no se note). Ademas el nombre también debe agregarse a la plantilla, para que la lista sea realmente útil.
Resulta que tengo una plantilla, cada vez que la abro, en la hoja1 coloco en la celda a1, un nombre y en c1 un numero, y tengo un proyecto de macro que no puedo terminar. La macro debería tomar el nombre de a1 hacer un espacio, poner un guion, otro espacio y copiar c1, para darle nombre al archivo al guardar cuando se pulse un botón de comando. Con un ejemplo: abro una planilla nueva, relleno a1 y c1, aprieto el botón de comando se guarda la planilla como: "a1 - c1" y sigo trabajando con la planilla. ¿Se puede hacer? Gracias desde ya.
La solución al primer problema de tu segunda pregunta, comprende tres pasos:
a.- Definir un nombre de rango variable para tu lista primaria.
Esto significa que no será fijo sino que variará sus límites según la cantidad de datos que tenga la lista. Al definir el nombre (Ctrl + F3) deberías colocar una fórmula como esta:
=Lista!$C$4:DESREF(Lista!$C$4;CONTARA(Lista!$C$4:Lista!$C$130)-1;0)
Supuesto que ella empiece en la celda C4 de la hoja "Lista"
b.- En la solapa de "Mensaje de error" de tu lista de validación, quita el tilde en la casilla "Mostrar mensaje de error si se introducen datos no válidos"
Obviamente, en la solapa "Configuración" el rango de la lista deberá ser el que definiste en el punto a.-
Por ejemplo:
=milist
c.- Usando el editor de Visual Basic (Alt + F11), pegar el siguiente macro en el panel de la hoja donde estuviera la lista de selección:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim ListRange As Range
Set ListRange = Sheets("Lista").Range("milist")
If Target.Address(False, False) = "C7" Then
If ListRange.Find(Target, , , xlWhole) Is Nothing And Not (IsEmpty(Target)) Then
Application.ScreenUpdating = False
itemnew = Target.Value
Sheets("Lista").Select
ListRange.Select
Selection.End(xlDown).Select
ActiveCell.Offset(1).Value = itemnew
ActiveCell.Offset(1).Interior.ColorIndex = 33
With Selection
.CurrentRegion.Select
.Sort ListRange
.End(xlUp).Select
End With
Sheets("Hoja1").Select
Application.ScreenUpdating = True
End If
End If
Set ListRange = Nothing
End Sub
Controla que los nombre de hoja que utiliza el macro coincidan con los tuyos propios.
Este macro funciona cada vez que ingresas un dato que no existiera en la lista de validación, lo agrega y reordena la lista, automáticamente.
----
Para tu segunda inquietud, inserta un módulo nuevo (también con el Editor de VBA) y pega este procedimiento:
Sub MySave()
Dim MyName As String
If IsEmpty(Sheets("Hoja1").Range("A1")) Or IsEmpty(Sheets("Hoja1").Range("C1")) Then
For i = 1 To 3
Beep
Next i
MsgBox "Falta dato para grabar archivo" & Chr(10) & "Macro termina SIN grabar", vbCritical, "ERROR en PROCESO de GRABACION"
Else
If Not (Application.WorksheetFunction.IsNumber(Sheets("Hoja1").Range("C1"))) Then
For i = 1 To 3
Beep
Next i
MsgBox "Dato en C1 NO es un número" & Chr(10) & "Macro termina SIN grabar", vbCritical, "ERROR en PROCESO de GRABACION"
Else
MyName = Trim(Sheets("Hoja1").Range("A1").Value & " - " & Trim(Str(Sheets("Hoja1").Range("C1").Value)))
ChDir "C:\Mis documentos"
ThisWorkbook.SaveAs (MyName)
MsgBox "Archivo grabado como" & Chr(10) & MyName, vbInformation, "GRABADO OK"
End If
End If
End Sub
---
Pronto te estaré enviando un archivo de muestra con estas dos rutinas a la dirección que citas en tu primer mail: ([email protected]).
Confírmame si está OK.
Ahora si, espero haber resuelto tus dos consultas.
Un gran abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas