Visual basic desde macro en Excel

Hola, buenas tardes:
Estoy desarrollando una macro para gestionar mis archivos de audio y me interesaría poder obtener TODOS los datos pertenecientes a cada archivo de una carpeta dada.
Cuando en MS-DOS se hace "DIR > nombrefichero" se obtiene una información para cada fichero que no muestra más que la fecha, hora, tamaño y nombre. Sin embargo en Windows cuando se accede mediante el Explorer a una carpeta se pueden conseguir hasta 38 campos distintos de información de cada fichero: nombre, tamaño, tipo, interprete, duración, fecha de creación, fecha de modificación, etc.
Actualmente obtengo los nombres de fichero en un fichero de texto y, mediante un LOOP, los recorro uno a uno pero no sé con que instrucciones manejar esos nombres para ir obteniendo en cada pasada sus atributos en un array o en variables.
¿Alguna idea?
Gracias,

1 Respuesta

Respuesta
1
No lo he hecho nunca pero por lo que he visto hay que usar la biblioteca DSOFILE.dll para acceder a los metadados que la puedes obtener en Microsoft.
El código quedaría como ( lo he cogido de internet, si te falla coméntamelo e intentamos hacerlo andar)
Dim filename As String
 filename "miarchivo"
 Dim dso As DSOFile.OleDocumentProperties
        dso = New DSOFile.OleDocumentProperties
        Dso. Open filename. Trim, True, DSOFile. DsoFileOpenOptions. DsoOptionOpenReadOnlyIfNoWriteAccess
        Debug. Print (dso. SummaryProperties. Author)
        Debug. Print (dso. SummaryProperties. ByteCount)
        Debug. Print (dso. SummaryProperties. CharacterCount)
        Debug. Print (dso. SummaryProperties. CharacterCountWithSpaces)
        Debug. Print (dso. SummaryProperties. Comments)
        Debug. Print (dso. SummaryProperties. Company)
        Debug. Print (dso. SummaryProperties. DateCreated)
        Debug. Print (dso. SummaryProperties. DateLastSaved)
        Debug. Print (dso. SummaryProperties. LastSavedBy)
        Debug. Print (dso. SummaryProperties. LineCount)
        Debug. Print (dso. SummaryProperties. PageCount)
        Debug. Print (dso. SummaryProperties. ParagraphCount)
        Debug. Print (dso. SummaryProperties. RevisionNumber)
        Debug. Print (dso. SummaryProperties. Subject)
        Debug. Print (dso. SummaryProperties. Title)
        Debug. Print (dso. SummaryProperties. WordCount)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas