¿Cómo extraer la información que tenemos referenciada mediante un marcador de texto en un documento de Word? En este artículo veremos como hacerlo de forma muy gráfica, para ello utilizaremos una macro que nos facilitará la tarea.

Tenemos creado un formulario en varios documentos de Word mediante la barra de herramientas » Formularios

 

  formularios

En dichos documentos tenemos  un «  Campo de texto » cuyo marcador le hemos puesto « Lunes »  recordamos como se cambia el nombre de marcador que viene por defecto en estos campos de texto de Formulario:

 opcionesdecampo

Pues si tenemos muchos documentos de Word y en ellos tenemos un campo de texto donde por ejemplo introducimos la fecha y queremos extraer ese campo de todos esos documentos y añadirlo a un nuevo documento, pues tendremos que utilizar macros para ello:

 

En un modulo nuevo de visual Basic Aplicaciones de Word añadimos el siguiente código:

Sub Extraer_Formtext_Formulario()

Dim documento As Document
Dim campotxt As Document
Dim ruta As String
Dim x As String

With Dialogs(wdDialogCopyFile)
If .Display() <> -1 Then Exit Sub
ruta = .Directory
End With

Set campotxt = Documents.Add
If Len(ruta) = 0 Then Exit Sub

If Asc(ruta) = 34 Then
ruta = Mid(ruta, 2, Len(ruta) - 2)
End If

x = Dir(ruta & "*.doc")

Do While x <> ""

Set documento = Documents.Open(ruta & x)
campotxt.Range.InsertAfter documento.FormFields("Lunes").Result & vbCr
documento.Close wdDoNotSaveChanges

x = Dir

Loop

End Sub

 

  • Para saber que es un modulo en visual basic aplicaciones presss here :--P
  • Para saber como poder asociar dicha macro a un botón aqui