Horacio Colina wrote:
> Hola a todos
> Me puden ayudar a imprimir desde VB 5 usando una plantilla de word 97, lo que quiero es llenar los campos de la plantilla los cuales seran enviados de VB
> Gracias de antemano
A ver que te parece esta solución:
Dim objWord As Word.Application
strFichero = ""
Select Case byteDocumento
Case CALIFICACIONPE ' Impresión de Calificación Mesa
frmOLE.oleWord.CreateEmbed App.Path & "\plantillas\CalificacionMesaPE.doc", "Word.Document.8"
Set objWord = frmOLE.oleWord.object.Application
' Realizamos las sustituciones en el documento
.............
End Select
Sustituye objWord, "#PARLAMENTARIO#", Trim(rstPaso2!NOMBRE) & " " & Trim(rstPaso2!APELLIDOS)
....... Código de sustituciones...
byteRetorno = MsgBox("¿Desea Imprimir Documento para " & rstConsejer!CONSEJERIA & "?", vbYesNo, "Imprimir Documento")
If byteRetorno = vbYes Then
objWord.Documents(1).PrintOut 0
End If
End Sub
Public Function Sustituye(objDocumento As Object, strBusca As String, strSustituye As String)
'##################################################################
' Si no ponemos el metodo activa no funciona el objeto selection
objDocumento.Documents(1).Activate ' Muy Importante
'##################################################################
With objDocumento.Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = strBusca
.Replacement.Text = strSustituye
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = True
.MatchAllWordForms = False
.Execute Forward:=True, Replace:=wdReplaceAll
End With
End Function
Bueno espero que te sea de utilidad, un saludo
krusen@arrakis.es
Felipe Llano Granados