Tengo el siguiente programa de Visual FoxPro en el cual manipulo e imprimo algunos documentos de Word de manera similar a "combinar correspondencia".
Uno de esos documentos de Word contiene campos de automatización, los cuales yo desearía actualizar en cierto momento como parte del programa de Visual Fox.
He agragado un par de instrucciones para hacer esto, sin embargo al momento de ejecutar el programa de Visual FoxPro, ambas me generan un error OLE 0x80020006-Unknown COM status code.
A continuación incluyo las partes fundamentales de mi programa, resaltando en rojo las dos líneas que me generan error, deseando que alguien pueda ayudarme a resolver esto.
De Antemano, mil gracias.
PROCEDURE Papeleria
PARAMETERS asistencia, carta,parametros
LOCAL lWordWasRunnign, oWord, sErr
lWordWasRunning = .T.
ON ERROR lWordWasRunning = .F.
oWord = GETOBJECT(, "Word.Basic")
ON ERROR && Restore error
IF NOT lWordWasRunning
oWord = CREATEOBJECT("Word.Basic")
ENDIF
If Asistencia = 1
oWord.FileOpen('c:\papeleria\asistencia.doc')
oWord.StartOfDocument
oWord.EditFindClearFormatting
oWord.EditReplaceClearFormatting
oWord.EditReplace('<tipo>', parametros(1), 0,0,0,0,0,1,1,1,0,0,1)
oWord.EditReplace('<modelo>', parametros(3), 0,0,0,0,0,1,1,1,0,0,1)
oWord.EditReplace('<fecha_asist>', parametros(4), 0,0,0,0,0,1,1,1,0,0,1)
oWord.EditReplace('<serie>', parametros(5), 0,0,0,0,0,1,1,1,0,0,1)
oWord.EditReplace('<paquete>', parametros(2), 0,0,0,0,0,1,1,1,0,0,1)
lCancelPrinting = .F.
ON ERROR lCancelPrinting = .T.
oWord.FilePrint(1)
ON ERROR && Restore error
oWord.FileSaveAs('c:\papeleria\asistencia1.doc')
oWord.FileClose
ENDIF
If carta = 1
oWord.FileOpen('c:\papeleria\carta.doc')
oWord.StartOfDocument
oWord.EditFindClearFormatting
oWord.EditReplaceClearFormatting
oWord.EditReplace('<fechaf>', parametros(22), 0,0,0,0,0,1,1,1,0,0,1)
oWord.EditReplace('<vehicular>', parametros(23), 0,0,0,0,0,1,1,1,0,0,1)
oWord.EditReplace('<nombre>', parametros(6), 0,0,0,0,0,1,1,1,0,0,1)
oWord.EditReplace('<rfc>', parametros(7), 0,0,0,0,0,1,1,1,0,0,1)
oWord.EditReplace('<vlinea>', parametros(11), 0,0,0,0,0,1,1,1,0,0,1)
oWord.EditReplace('<origen>', parametros(12), 0,0,0,0,0,1,1,1,0,0,1)
oWord.Selection.SelectAll
oWord.Fields.Update
oWord.EditReplace('<paquete>', parametros(2), 0,0,0,0,0,1,1,1,0,0,1)
oWord.EditReplace('<modelo>', parametros(3), 0,0,0,0,0,1,1,1,0,0,1)
oWord.EditReplace('<serie>', parametros(5), 0,0,0,0,0,1,1,1,0,0,1)
oWord.EditReplace('<tipoauto>', parametros(25), 0,0,0,0,0,1,1,1,0,0,1)
oWord.EditReplace('<marca>', parametros(26), 0,0,0,0,0,1,1,1,0,0,1)
lCancelPrinting = .F.
ON ERROR lCancelPrinting = .T.
oWord.FilePrint(1)
ON ERROR && Restore error
oWord.FileSaveAs('c:\pruvtas\carta1.doc')
oWord.FileClose
EndIf
oWord.Appclose
RETURN
ENDPROC