Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki

Programación: Cambiar marcadores de Word por valores del formulario de una aplicación
Visual Studio .NET


Este artículo explica como insertar los valores de un formulario de una aplicación realizada en Visual Basic en un documento de Word. Puede ser muy útil para simular "Combinar correspondencia" de Word, generar cartas personalizadas para los clientes de nuestra base de datos o cualquier comunicado con datos particulares.

Cambiar marcadores de un documento de Word por valores del formulario de una aplicación

Este artículo explica como insertar los valores de un formulario de una aplicación realizada en Visual Basic en un documento de Word. Puede ser muy útil para simular "Combinar correspondencia" de Word, generar cartas personalizadas para los clientes de nuestra base de datos o cualquier comunicado con datos particulares.

En primer lugar, utlizando Microsoft Word, crearemos el documento modelo que contendrá los marcadores y el texto queramos utilizar. Para ello abriremos Microsoft Word, insertaremos el texto y, donde queramos insertar texto variable (que obtendremos de la aplicación, de la base de datos o del formulario de entrada de datos) escribiremos el nombre del marcador, lo seleccionaremos:

Con el marcador seleccionado pulsaremos el menú "Insertar", "Marcador":

Volveremos a escribir el mismo nombre y pulsaremos "Agregar":

Añadiremos todos los marcadores y el texto que necesitamos en la plantilla de Word:

Desde Visual Basic 6 añadiremos la referencia a Microsoft Word, para ello accederemos al menú "Proyecto" - "Referencias":

Seleccionaremos la referencia "Microsoft Word 11.0 Object Library" (esto cambiará en función de la versión de Word que tengamos instalada):

Añadiremos al formulario de nuestra aplicación los componentes necesarios, un TextBox para la ubicación de la plantilla (documento de Word con los marcadores), otro para el documento resultante de la fusión de los datos del formulario con los marcadores de Word y tantos TextBox como marcadores hayamos insertado en el documento de Word (plantilla). Añadiremos también un botón que será el que ejecute el proceso de fusión de marcadores de Word:

En el evento "Form_Load" (evento Load del formulario principal) colocaremos el siguiente código:

Private Sub Form_Load()
  txtPlantilla.Text = App.Path & "plantilla.doc"
  txtDocumento.Text = App.Path & "documento.doc"
End Sub

El código anterior inserta en los TextBox de plantilla y documento la ruta desde la que se está ejecutando la aplicación más el valor "plantilla.doc" y "documento.doc".

En el evento bFusionarMarcadores_Click (evento Click del botón bFusionarMarcadores) colocaremos el siguiente código:


 Private Sub bFusionarMarcadores_Click()
  Dim MSWord As New Word.Application
  Dim Documento As Word.Document

  FileCopy txtPlantilla.Text, txtDocumento.Text
  
  Set Documento = _
      MSWord.Documents.Open(txtDocumento.Text)
    
  Documento.Bookmarks.Item("marcador1").Range.Text = _
      txtMarcador1.Text
  Documento.Bookmarks.Item("marcador2").Range.Text = _
      txtMarcador2.Text
  Documento.Bookmarks.Item("marcador3").Range.Text = _
      txtMarcador3.Text
  
  MSWord.Visible = True
End Sub

El código anterior realiza una copia del fichero de Word que incluye los marcadores (para no reemplazarlo):

FileCopy txtPlantilla.Text, txtDocumento.Text

a continuación crea un objeto de tipo Word.Document a partir del objeto Word.Application.

Set Documento = _ MSWord.Documents.Open(txtDocumento.Text)

y, por último, inserta el texto en los marcadores del documento Word:

Documento.Bookmarks.Item("marcador1").Range.Text = _ txtMarcador1.Text

Para probar la aplicación generaremos el ejecutable pulsando en "Archivo" - "Generar fusionarMarcadores.exe":

Seleccionaremos la ruta y el nombre del fichero .exe resultante de la compilación de la aplicación:

Ejecutaremos el fichero .exe resultante, rellenaremos los datos correspondientes a los marcadores y especificaremos la plantilla de Word y el documento resultante:

Al pulsar el botón "Fusionar marcadores" se abrirá Microsoft Word y el documento seleccionado, habiéndose insertado los valores del formulario en el documento de Word:

Como se puede observar este artículo puede ser muy útil para aplicaciones que utilicen bases de datos de clientes, proveedores, etc para realizar comunicaciones personalizadas.


Anuncios


Enviado el Viernes, 20 octubre a las 20:20:43 por ajpdsoft
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A