Extraer Propiedades Word [Vba]
Extraer Propiedades Word
(VBA)

Las propiedades de los documentos incluyen datos que nos informan detalladamente sobre el archivo en cuestión. En Microsoft Word dichas propiedades pueden incluirse en Campos que son utilizados como marcadores de posición (Combinación de correspondencia, Cartas, Etiquetas,...).
En este artículo os mostraremos una forma de extraer las propiedades de uno o varios documentos de Word, mediante un procedimiento VBA, en el caso de que éstas propiedades se necesiten almacenar en un documento de Word.
Campos
Campos de Información de documento
Estas propiedades pueden ser utilizadas a lo largo de un documento de Word mediante Campos, para insertar un Campo en Word podemos realizarlo bien desde el cuadro de diálogo Campo o bien mediante la combinación de teclas {CTRL+F9}, algunos de estos campos tienen en común algunas propiedades, como por ejemplo la propiedad AUTHOR:
{ DOCPROPERTY Author } ó { INFO Author } ó {Author}
Propiedades
Propiedades de Resumen para poder ser utilizados en Campos
Title - Subject - Author - Manager - Company - Category - Keywords - Comments - HyperlinkBase
Propiedades de Estadísticas para poder ser utilizados en Campos
CreateDate - LastSavedTime - LastPrinted - LastSavedBy - RevNum - TotalEditingTime - Pages - Paragraphs - Lines - Words - Characters - CharactersWithSpaces
Propiedades Personalizadas para poder ser utilizados en Campos
Las propiedades personalizadas pueden insertarse en el documento de Word como campos y en el procedimiento VBA [ método Item ], en el idioma de instalación de Office, sí éstos Existen, de lo contrario producirá un error.
Procedimiento VBA
Campos que se deben de utilizar sólo en el método [ Item ]>>
Title= Título
Subject= Asunto
Author= Autor
Keywords= Estos palabras clave
Comments= comentarios
Template= Normal.dotm
Last author= demo
Revision number= 131
Application name= Microsoft Office Word
Last print date= Jun/05/2009 6:08:00 PM
Creation date= May/28/2009 11:49:00 AM
Last save time= Jun/06/2009 10:12:59 AM
Total editing time= 522
Number of pages= 2
Number of words= 112
Number of characters= 652
Security= 0
Category= Categoria
Manager= Administrador
Company= Organización
Number of bytes= 33402
Number of lines= 4
Number of paragraphs= 34
Hyperlink base= 0
Number of characters (with spaces)= 742
Content status= Estado
El siguiente procedimiento como ejemplo, extrae en el documento las propiedades siguientes:
Fecha de creación - Autor - Tiempo total empleado en la edición del documento - Fecha última en la que se guardo el documento.
Las propiedades son insertadas donde el cursor este situado en el documento de Word, NO esta preparado para insertarlos en tablas ya que si quisiéramos tener sus propiedades en una tabla, bastaría con convertir el texto en tabla desde la interfaz de Word:
Sub propiedades_documento() Dim y As FileDialog, x As String, vrtSelectedItem, m As Object Set y = Application.FileDialog(msoFileDialogFilePicker) With y .Title = "demo" .AllowMultiSelect = True .Filters.Add "Documentos de Word", "*.docm; *.doc; *.dot; *.docx; *.dotm; *.dotx" If .Show = -1 Then For Each vrtSelectedItem In .SelectedItems On Error GoTo suceso Set m = Documents.Open(vrtSelectedItem, , , , , , , , , , , True) With ActiveDocument.BuiltInDocumentProperties x = .Item("Creation date") & " - " & .Item("Author") & _ " - " & .Item("Total editing time") & " - " & .Item("Last save time") & vbCrLf m.Close savechanges:=wdDoNotSaveChanges End With ThisDocument.Activate: Selection.TypeText x: Next Else End If: End With suceso: If Err Then MsgBox ".. error :O ....?" Set y = Nothing: Set m = Nothing: End Sub