Hola Francisco
Muchas gracias por toda tu ayuda, un verdadero maestro.
Me tarde un poco en escribir, ya que me pase la tarde probando los codigos y sugerencias que me indicastes.
Es un verdadero dolor de cabeza, Estoy usando Win 10 64 Bits, Fwh 17.09 y tengo instalado Office 365.
Los codigos Bloquean el equipo y los archivos de word quedan abiertos para el sistema y no se pueden cerrar, debo forzar al cierre de la ejecucion por comando de win.
Logre poner en marcha un codigo que abre uun archivo plantilla "RTF" y lo guarda como "DOC", ya que tampoco me deja abrir un " DOC" o "DOCX"., realiza el proceso de reemplazo de variables y luego lo graba, tenia habilitada la opcion de visulizar, pero jamas abrio Word, pero si dejaba grabado el archivo destino como " DOC ", en la carpeta indicada. Este proceso comenzo muy rapido.
Aqui se presenta el problema, despues de unas 10 ejecuciones de la opcion, el equipo se bloqueo en su ejecucion, al punto que la opcion del sistema, ya no respponde y debo forzar su cierre por comando de windows y el archivo que antes era grabago en disco, ya no se genera, esta muy claro, que el consumo de memoria es bastabte grande al punto de no permitir terminar el proceso, despues de varias ejecuciones.
Para mi es bastante grave, ya que pense que habia logrado poner en marcha y dar la solucion al cliente, pero vuelvo a punto Cero, ya que el Cliente, necesita atender aproximamente un promedio de 100 personas y por cada uno, debe generar un certificado que luego de ser impreso, este debe ser guardado como respaldo en su disco.
Amigos, sigo dado dolores de cabeza, alguna idea para solucionar este problema,
Muchos Saludos
Antonio.
Dejo el Código que logre hacer funcionar con el detalle descrito:
- Code: Select all Expand view
Function G_Altura_W()
Local cTxtFile, oWord, oSel, oDoc,cOrigen,cDestino,cFile,cSave
cOrigen:= "C:\Desa\FichasWin\Doc\Doc_Bases\"
cDestino:="C:\Desa\FichasWin\Doc\Doc_Bases\"
cFile:= "Alturapru6.rtf"
cSave:= "Alturapru11.doc"
Nom1=" PACIENTE DE PRUEBA INFORME"
rut1=" 11.111.111-1"
naci1="Chilena"
oWord:=TOleAuto():New( "Word.Application" )
TRY
oDoc := oWord:Documents:Open(cOrigen + cFile)
CATCH
MsgInfo("Error: No Puedo Abrir Archivo Plantilla --> "+cFile)
oWord:Quit()
Return NIL
END
oDoc:Select()
oSel = oWord:Selection
Reemplaza_Text( oSel, "[nombrepaciente]",AllTrim(Nom1))
Reemplaza_Text( oSel, "[rut]",AllTrim(rut1))
Reemplaza_Text( oSel, "[naciona]",AllTrim(naci1))
oDoc:Invoke( "SaveAs", cDestino + cSave )
//oWord:Visible:= .T.//;oWnd:Minimize()
//oDoc:PrintOut()
oDoc:Invoke('Close',0)
oWord:Quit()
Return
Static Function Reemplaza_Text( oSel, cSrc, cRpl)
oSel:Start = 0
oSel:End = -1
WHILE oSel:Find:Execute( cSrc )
oSel:Range:Text = cRpl
ENDDO
Return nil