Access - Insertar Datos en Word

 
Vista:

Insertar Datos en Word

Publicado por Victor (3 intervenciones) el 12/11/2011 01:57:38
Hola a Todos

Necesito en forma urgente una orientación al siguiente tema:
Tengo una base de datos en access 2003, de la cual, desde una consulta, realizo un filtro de tres en tres registros por vez, estos a su vez se cargan en un formulario continuo para visualizarlo, en el mismo tengo puesto un Btn desde el cual envío a un documento de Word, para luego imprimirlo, el código que pongo el btn, solo me pega en el documento de word, el primero de los registros extraídos de la consulta y no así los tres como necesito. Aclaro que el código no es de mi autoría, El mismo ya lo tengo funcionando en otro formulario, pero solo con un registro y anda bien. A continuación muestro el código:


Private Sub btnPrint_Click()
Dim dbLocal As Database
Dim snpReplaceCodes As Recordset
Dim strCurrAppDir As String
Dim strFinalDoc As String
Dim varReplaceWith As Variant
Dim docWord As Word.Document

On Error GoTo Error_btnprint_Click
Set dbLocal = CurrentDb()
strCurrAppDir = Left$(dbLocal.Name, InStrRev(dbLocal.Name, "\"))

strFinalDoc = strCurrAppDir & "Juicio_Ordinario.rtf"

On Error GoTo Error_btnprint_Click
Set appWord = New Word.Application
Set docWord = appWord.Documents.Add(strFinalDoc)
appWord.Visible = True
'abro ahora la tabla de las sustituciones
Set snpReplaceCodes = dbLocal.OpenRecordset("sustituir", _
dbOpenSnapshot)

Do While Not snpReplaceCodes.EOF


varReplaceWith = Eval(snpReplaceCodes!ReplaceWithFieldName)
varReplaceWith = IIf(IsNull(varReplaceWith), " ", CStr(varReplaceWith))

With docWord.Content.Find

If snpReplaceCodes!CodeToReplace = "{Nombre}" Then
With .Replacement
.ClearFormatting
.Font.Bold = True
.Font.Italic = True
End With
End If

.Execute FindText:=snpReplaceCodes!CodeToReplace, _
ReplaceWith:=varReplaceWith, Format:=True, _
Replace:=wdReplaceAll

End With

snpReplaceCodes.MoveNext

Loop

snpReplaceCodes.Close
Exit Sub

Error_btnprint_Click:

Beep
MsgBox "Ha ocurrido el error:" & vbCrLf & _
Err.Description, vbCritical, "OLE Error!"
Exit Sub

End Sub


Desde ya muchas gracias por la ayuda.

Saludos Vihura
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder