Como Leer propiedades de documentos con VBA
En el Explorador de Windows es posible ver las propiedades de un documento. Haga clic derecho en el archivo y seleccione Propiedades.
Aquí hay información útil, como autor, fecha de creación, fecha del último guardado, etc. La buena noticia es que podemos acceder a esta información usando VBA con la propiedad BuiltinDocumentProperties.
No todas las propiedades del documento están llenas de datos, ya que depende del tipo de archivo. Por ejemplo, los archivos de Excel no tienen datos sobre la propiedad de número de diapositivas, pero un archivo de PowerPoint sí. Sin embargo, tanto los archivos de Excel como los de PowerPoint tienen varias propiedades de diapositivas, pero no se utilizan en todas las circunstancias.
El código VBA básico
'Encontrar el autor de ActiveWorkbookDebug.Print ActiveWorkbook.BuiltinDocumentProperties("Author")'Encontrar la fecha de creación de otro libro de trabajoDim Wb As WorkbookSet Wb = Workbooks("myFileTest.xlsx")Debug.Print Wb.BuiltinDocumentProperties("Fecha de creación")
Trabajar con archivos cerrados
Al utilizar BuiltinDocumentProperties no hay forma de leer las propiedades de un archivo cerrado. Por lo tanto es necesario abrir el archivo, leer las propiedades y luego cerrar el archivo.
'Encontrar la última hora guardada de un archivo actualmente cerradoDim Wb As WorkbookSet Wb = Workbooks.Open("C:UsersmarksDocumentsmyFileTest.xlsx")Debug.Print Wb.BuiltinDocumentProperties("Última hora guardada")Wb.Close
Nota: Eche un vistazo a la sección de comentarios a continuación, ya que parece haber una forma de leer y cambiar propiedades en un archivo cerrado. Pero eso está fuera del alcance de esta publicación.
Detectar errores
Hacer referencia a una propiedad que no tiene ninguna información generará un error.
Es posible detectar los errores para saber que el valor está en blanco:
'Detectando errores cuando no hay valorDim fileProperty As VariantfileProperty = "Número de diapositivas"En caso de error Reanudar NextDebug.Print ActiveWorkbook.BuiltinDocumentProperties(fileProperty)Si Err.Number 0 Entonces Debug.Print fileProperty "está en blanco"Finalizar si en error Ir a 0
Todas las propiedades disponibles
Las propiedades disponibles son:
Título Asunto Autor Palabras clave Comentarios Plantilla Último autor Número de revisión Nombre de la aplicación Última fecha de impresión Fecha de creación Hora del último guardado |
Tiempo total de edición Número de páginas Número de palabras Número de caracteres Categoría de seguridad Administrador de formato Empresa Número de bytes Número de líneas Número de párrafos |
Número de diapositivas Número de notas Número de diapositivas ocultas Número de clips multimedia Base de hipervínculo Número de caracteres (con espacios) Tipo de contenido Estado del contenido Idioma Versión del documento |
También es posible recorrer y enumerar todas las propiedades disponibles:
'Enumere todas las propiedades de archivo disponiblesDim fileProperty As VariantFor Each fileProperty In ActiveWorkbook.BuiltinDocumentProperties Debug.Print fileProperty.NameNext fileProperty
Deja una respuesta