RE:abrir plantilla word desde VB
Hola.
Abres un documento nuevo y cuando acabes, lo grabas con extensión .dot
En ese documento puedes poner, por ejemplo:
Don %%nombre%% %%apellido1%% %%apellido2%%
donde
%%nombre%% %%apellido1%% %%apellido2%%
son marcadores en los cuales se colocaran el texto que le envies desde VB
En tu proyecto añade en referencias:
Microsoft Word 10.0 Objet Library (MSWORD.OLB)
y en un formulario:
Dim xWord As Word.Application ' Instancia a Word
Dim xRange As Range ' Rango del objeto
Dim xSelection As Find ' Búsqueda del objeto
Dim destino$
destino = "C:\MiPlantilla.dot"
xWord.Documents.Add destino
Set xRange = xWord.ActiveDocument.Range
xRange.Find.Execute "%%apellido1%%", , , , , , , , , Text1.text, True
Set xRange = xWord.ActiveDocument.Range
xRange.Find.Execute "%%apellido2%%", , , , , , , , , Text2.text, True
Set xRange = xWord.ActiveDocument.Range
xRange.Find.Execute "%%nombre%%", , , , , , , , , Text3.text, True
'Se puede guardar el documento, o plantilla
'xWord.ActiveDocument.SaveAs “C:\MiPlantilla.dot "
' Si queremos visualizarlo en pantalla
xWord.Visible = trae
' 'Maximizarlo
xWord.WindowState = wdWindowStateMaximize
' 'Tenerlo activo, visible en pantalla
xWord.Application.Activate
' No preguntar si queremos guardar el documento
' xWord.DisplayAlerts = wdAlertsNone
‘ Imprimir
xWord.ActiveDocument.PrintOut
' Para evitar la pregunta: ¿Desea guardar el documento….?
xWord.ActiveDocument.Close False
'Cerramos word
xWord.Quit
'Liberamos el objeto
Set xWord = Nothing
En la plantilla puedes seleccionar todo el marcador y darle el formato que quieras (color, negrita, etc.)
Espero que te sirva.
P.D. ¿Eres el mismo que escribió en Programación.com? Lo digo para no repetir la respuesta.
Un saludo.