Hemos tenido que hacer una importación de datos de un PDF a Word y, al exportar el PDF, se generan encabezados y pies de página en Word. El documento contenía 200 páginas cada una con su sección correspodiente. Si debía de ir página a página eliminado encabezados me podía volver loco.
Para automatizar esto he utilizado VB dentro de Word.
Primero de todo si no vemos en el menú la opción «Programador», deberemos ir a «Archivo/Opciones» y en «Personalizar cita de opciones» deberemos seleccionar en las pestañas principales la opción «Programador». Ahora ya deberemos ver el la barra de menús la opción «Programador».
Con el documento abierto vamos a ir al menú «Programador» y apretaremos el primer botón «Visual Basic», que abrirá un nueva ventana, en ella debemos ir al menú «Insertar» y seleccionar la opción «Módulo». Esto nos abrirá otra ventana en la que debemos pegar el siguiente código
Sub RemoveHeadAndFoot()
'Elimina todos los encabezados y pies del documento
Dim oSec As Section
Dim oHead As HeaderFooter
Dim oFoot As HeaderFooter
For Each oSec In ActiveDocument.Sections
For Each oHead In oSec.Headers
If oHead.Exists Then oHead.Range.Delete
Next oHead
For Each oFoot In oSec.Footers
If oFoot.Exists Then oFoot.Range.Delete
Next oFoot
Next oSec
Selection.WholeStory
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.ParagraphFormat.Borders(wdBorderBottom).LineStyle = wdLineStyleNone
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub
Una vez lo tengamos, hay que apretar F5 para que se ejecute, o el boton de ejecutar (triángulo de play), esperamos unos segundos y ya podemos cerrar la ventana de VB. Al volver al documento veremos que se han eliminado los encabezados y pies.