Page 3 of 4

Re: No graba un documento Word

PostPosted: Wed Mar 16, 2016 11:33 am
by cnavarro
Carlos, haz una prueba

Configura la carpeta Public para que pueda ser vista por todos los usuarios de la red y dale permisos de lectura y escritura a dicha carpeta
Configura el ejemplo para que grabe el documento en esa carpeta y coméntame los resultados

C:\Users\Public\Downloads

Re: No graba un documento Word

PostPosted: Wed Mar 16, 2016 11:45 am
by colthop
Hola Cristóbal:

El programa esta en local, pero le he dado los permisos de escritura a la carpeta c:\users\donwloads y hace lo mismo lee y se queda en la grabación.

Un saludo

Carlos

Re: No graba un documento Word

PostPosted: Wed Mar 16, 2016 11:50 am
by cnavarro
Qué version de Office estás usando?

Re: No graba un documento Word

PostPosted: Wed Mar 16, 2016 11:56 am
by colthop
Hola:

He usado dos y en las dos pasa lo mismo ahora esta la 2013 y antes estaba la 2007.

Un saludo

Carlos

Re: No graba un documento Word

PostPosted: Wed Mar 16, 2016 12:00 pm
by hmpaquito
Prueba este:

Code: Select all  Expand view
// Atencion !! Crea previamente un archivo test.doc
LOCAL oWord := CREATEOBJECT( "Word.Application" )
LOCAL oDoc := oWord:Documents:Open( "test.doc" )
oDoc:Save()
MsgInfo("Si hace el :Save()")
 


Quizá mañana pueda probarlo en Windows 8 (puro)

Re: No graba un documento Word

PostPosted: Wed Mar 16, 2016 12:04 pm
by hmpaquito
Ahora prueba este:


Code: Select all  Expand view
// Atencion !! Crea previamente un archivo test.doc
#define wdFormatDOSText 4

LOCAL oWord := CREATEOBJECT( "Word.Application" )
LOCAL oDoc := oWord:Documents:Open( "test.doc" )
oWord:DisplayAlerts:= .f.                                              // Importantisimo. Esto a mi en Excel, me llevó al borde del suicidio informático.
oDoc:SaveAs( "test.txt", wdFormatDOSText )



El cuelgue puede deberse a que Word está esperando una respuesta. No muestra mensaje, pero tampoco continua. Eso me ha pasado en Excel.

Re: No graba un documento Word

PostPosted: Wed Mar 16, 2016 12:06 pm
by cnavarro
El equipo es el ACER que comentaste y desactivaste la utilidad que trae ( algo asi como ACERAgent o parecido ? )
He leido que eso estaba provocando problemas

Re: No graba un documento Word

PostPosted: Wed Mar 16, 2016 12:36 pm
by colthop
Hola:

El Save() si funciona por lo que he ajustado el resto de la función a crear primero el archivo y luego modificarlo y grabar con Save() y parece que funciona.

Lo compruebo en Windows 7 y si funciona lo dejo así.

Gracias por vuestro tiempo.

Por otra parte el equipo si es un ACER pero no de que es ACERAgent. Es algo que se ejecuta al principio o donde.

Un saludo

Carlos

Re: No graba un documento Word

PostPosted: Wed Mar 16, 2016 12:39 pm
by hmpaquito
Por favor, prueba tambien el

Code: Select all  Expand view
oWord:displayAlerts:= .f.

Re: No graba un documento Word

PostPosted: Thu Mar 17, 2016 4:48 am
by anserkk
I don't know whether I understood your problem exactly. Anyways your code is working fine for me and it is saving the word contents in a text format file too.
The only change that I have made is that I have given the Full path of the file.

Tried on an Acer PC, Windows 10 64bit, MS-Office 2013

Code: Select all  Expand view
#Include "Fivewin.ch"
#define wdFormatDOSText 4

Function Main()    
   
    // Atencion !! Crea previamente un archivo test.doc

    LOCAL oWord := CREATEOBJECT( "Word.Application" )
    LOCAL oDoc := oWord:Documents:Open( "D:\test\test.doc" )
    oWord:DisplayAlerts:= .f.   // Importantisimo. Esto a mi en Excel, me llevó al borde del suicidio informático.
    oDoc:SaveAs( "D:\test\test.txt", wdFormatDOSText )
   
Return


Regards
Anser

Re: No graba un documento Word

PostPosted: Thu Mar 17, 2016 7:44 am
by colthop
Hola hmpaquito:

Puse lo que me comentaste y también se queda bloqueado, no se si esta instrucción lo que hace es quitar las alertas, cosa que mi nunca me puso simplemente se quedaba pillado.

Un saludo

Carlos

Re: No graba un documento Word

PostPosted: Thu Mar 17, 2016 8:18 am
by hmpaquito
Carlos,

Si aun tienes ganas de pruebas, prueba esto y nos cuentas:

Code: Select all  Expand view

#Include "Fivewin.ch"
#define wdFormatDOSText 4

Function Main()    
   
    // Atencion !! Crea previamente "c:\colthop\cyewin\a.doc" y NO hagas quit al oWord.
    Local cFile:= "c:\colthop\cyewin\a.doc"
    LOCAL oWord := CREATEOBJECT( "Word.Application" )
    LOCAL oDoc := oWord:Documents:Open( cFile)
    oWord:Visible:= .t.
    oDoc:SaveAs(cFile, wdFormatDOSText )
   
Return
 

Mi teoría es que Word está esperando porque está mostrando un dialogo... el problema sería que el dialogo no es mostrado. Quizá ahora con el :Visible:= .t., al mostrar el documento, muestre tambien el dialogo.

A ver qué pasa.

Re: No graba un documento Word

PostPosted: Thu Mar 17, 2016 8:26 am
by colthop
Hola hmpaquito:

Ya lo he probado y sigue bloqueándose.

Un saludo

Carlos

Re: No graba un documento Word

PostPosted: Thu Mar 17, 2016 8:34 am
by hmpaquito
Carlos,

Se trataría de ver si Word muestra un dialogo... a ver este:
Code: Select all  Expand view

#Include "Fivewin.ch"
#define wdFormatDOSText 4

Function Main()    
   
    // Atencion !! Crea previamente "c:\colthop\cyewin\a.doc" y NO hagas quit al oWord.
    Local cFile:= "c:\colthop\cyewin\a.doc"
    LOCAL oWord := CREATEOBJECT( "Word.Application" )
    LOCAL oDoc := oWord:Documents:Open( cFile)
    oWord:Visible:= .t.
    oWord:DisplayAlerts:= .t.
    oDoc:SaveAs(cFile, wdFormatDOSText )

Re: No graba un documento Word

PostPosted: Thu Mar 17, 2016 8:51 am
by colthop
Hola hmpaquito:

He incluido lo que me dices:

1.- he crado a.doc y lo he dejado abierto
2.- al ejecutar me dice que hay una copia abierta y si deseo abrir o grabar.
3.- he seleccionado abrir una copia de solo lectura y se ha abierto de nuevo el a.doc solo lectura
4.- se ha quedado bloqueado en SaveAs
5.- Cuando cierro el Word sale el siguiente error:

Code: Select all  Expand view
Application
===========
   Path and name: C:\ColtHop\ColtHop.exe (32 bits)
   Size: 3,150,336 bytes
   Compiler version: Harbour 3.2.0dev (r1601050904)
   FiveWin  Version: FWH 13.11
   Windows version: 6.2, Build 9200

   Time from start: 0 hours 3 mins 5 secs
   Error occurred at: 03/17/16, 09:49:24
   Error description: (DOS Error -2147352567) WINOLE/1007  El comando falló (0x800A1066): Microsoft Word
   Args:
     [   1] = C   c:\colthop\cyewin\a.doc
     [   2] = N   4

Stack Calls
===========
   Called from:  => TOLEAUTO:SAVEAS( 0 )
   Called from: colthop.prg => MAIN( 21 )

System
======
   CPU type: Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz 2600 Mhz
   Hardware memory: 8116 megs

   Free System resources: 90 %
        GDI    resources: 90 %
        User   resources: 90 %

   Windows total applications running: 6
      1 ,                                                                                                    
      2 , C:\Windows\SYSTEM32\SHELL32.DLL                                                                    
      3 , C:\Windows\SYSTEM32\SHLWAPI.dll                                                                    
      4 , C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9600.18006_none_a9ec6a
      5 Conmutación de tareas, C:\ColtHop\ColtHop.exe                                                                              
      6 DDE Server Window, C:\Windows\SYSTEM32\OLE32.DLL                                                                      

Variables in use
================
   Procedure     Type   Value
   ==========================
   TOLEAUTO:SAVEAS
     Param   1:    O    Class: ERROR
   MAIN
     Param   1:    C    "c:\colthop\cyewin\a.doc"
     Param   2:    N    4
     Local   1:    U    
     Local   2:    U    

Linked RDDs
===========
   DBF
   DBFFPT
   DBFBLOB
   DBFCDX

DataBases in use
================

Classes in use:
===============
     1 ERROR
     2 HBCLASS
     3 HBOBJECT
     4 WIN_OLEAUTO
     5 TOLEAUTO
     6 TREG32

Memory Analysis
===============
      209 Static variables

   Dynamic memory consume:
      Actual  Value:          0 bytes
      Highest Value:          0 bytes



Si no me equivoco es que se cerro Word cuando estaba intentando grabar.

Un saludo

Carlos