martes, 28 de octubre de 2014

Modificar Plantilla Word desde VB.NET (Clase)


Modificar un archivo word es relativamente fácil, pero la documentación es poca, acá presento una clase que maneja un archivo y sus marcadores o "bookmarks".

la sintaxis para usar la clase es la siguiente:

'declarar la plantilla con su ruta de archivo
Dim ficha As New PlantillaWord("ficha_mantencion.docx")
'cambiar un valor de la plantilla
ficha.marcador("nombre", "juanito perez")

y aqui esta la clase:

Imports Microsoft.Office.Interop

Public Class PlantillaExcel
   Dim ruta$
   Dim excel As New Excel.Application()
   Dim doc As Excel.Document
   Dim documentoAbierto As Boolean = False

   Public Sub New(documento$) 
      ruta = Environment.CurrentDirectory & "\" & documento
      Try
         excel.Visible = True
         doc = excel.Documents.Add(documento)
         documentoAbierto = True
      Catch ex As Exception
         MsgBox("error: " & ex.Message)
      End Try
   End Sub

   Public Sub marcador(nombre$, valor$)
      Try
         If documentoAbierto Then
            doc.Bookmarks.Item(nombre).Range.Text = valor
         End If
      Catch ex As Exception
         MsgBox("error: " & ex.Message)
      End Try
   End Sub

End Class