Tengo varias opciones del programa que crea y graba un fichero de Word.
Hasta ahora lo hacia bien, pero no se si es que he puesto "bcc7" o Microsoft Office 2013 que me da un error al grabar el fichero.
Yo uso una plantilla que tengo en una carpeta general (c:\colthop\cyewin\impranua\diligenc.doc), le reemplazaba unos valores y lo grababa como destino (c:\colthop\cyewin\emp00001\dili2015.doc) hasta ahora siempre lo grababa en formato .DOC como el original y después yo lo habría para que el usuario lo pudiese ver y modificar. Pero ahora se queda pidiendo confirmación del nombre y en vez de poner el de destino (c:\colthop\cyewin\emp00001\dili2015.doc) pide confirmación de grabar el origen con formato .DOCX (c:\colthop\cyewin\impranua\diligenc.docx).
Podríais ayudarme estoy probando de todo y no lo consigo se queda en la línea de oDoc:INVOKE("SaveAs" ,cFich)
- Code: Select all Expand view
oWord:=TOleAuto():New( "Word.Application" )
cPlantilla := (fic1)
oDoc :=oWord:Documents:Open(cPlantilla) // abre el doc modelo
cViejo := "[EMPRESA]"
cCampo := (empresa)
reemplace2 ()
cViejo := "[NIF]"
cCampo := (nif)
reemplace2 ()
cViejo := "[POBLACION]"
cCampo := (poblacion)
reemplace2 ()
cViejo := "[PROVINCIA]"
cCampo := (provincia)
reemplace2 ()
cViejo := "[DOMICILIO]"
cCampo := (domicilio)
reemplace2 ()
cViejo := "[EJERCICIO]"
cCampo := (ejercicio)
reemplace2 ()
cViejo := "[DIA]"
cCampo := (dia)
reemplace2 ()
cViejo := "[MES]"
cCampo := (mes)
reemplace2 ()
cViejo := "[ANO]"
cCampo := (ano)
reemplace2 ()
cViejo := "[CARGO]"
cCampo := (cargo)
reemplace2 ()
cViejo := "[NUMEUNO]"
cCampo := (numeuno)
reemplace2 ()
cViejo := "[TEXTUNO]"
cCampo := (textuno)
reemplace2 ()
cViejo := "[NUMEDOS]"
cCampo := (numedos)
reemplace2 ()
cViejo := "[TEXTDOS]"
cCampo := (textdos)
reemplace2 ()
cViejo := "[NUMETRES]"
cCampo := (numetres)
reemplace2 ()
cViejo := "[TEXTTRES]"
cCampo := (texttres)
reemplace2 ()
cViejo := "[NUMECUATRO]"
cCampo := (numecuatro)
reemplace2 ()
cViejo := "[TEXTCUATRO]"
cCampo := (textcuatro)
reemplace2 ()
cViejo := "[NUMECINCO]"
cCampo := (numecinco)
reemplace2 ()
cViejo := "[TEXTCINCO]"
cCampo := (textcinco)
reemplace2 ()
oDoc := oWord:Get("ActiveDocument") // object (documento activo)
* oDoc:Invoke( "SaveAs", cFich ) // graba fichero
oDoc:SaveAs(cFich, 1 ) // graba fichero
oDoc:Invoke('Close',0) // cierra fichero
oDoc:=NIL
oWord:Quit()
oWord:=NIL
La he cambiado por oDoc:SaveAs (cFich,1) pero hace lo mismo.
Si grabo el fichero DOCX hace correctamente el reemplazo de todos los datos y después me da el error:
- Code: Select all Expand view
Application
===========
Path and name: C:\ColtHop\CyEWin\CyEWin.exe (32 bits)
Size: 8,102,912 bytes
Compiler version: Harbour 3.2.0dev (r1506171039)
FiveWin Version: FWH 13.11
Windows version: 6.2, Build 9200
Time from start: 0 hours 10 mins 43 secs
Error occurred at: 28/10/2015, 10:34:02
Error description: (DOS Error -2147352567) WINOLE/1007 El comando falló (0x800A1066): Microsoft Word
Args:
[ 1] = C C:\ColtHop\CyEWin\EMP00001\dili2015.doc
[ 2] = N 1
Stack Calls
===========
Called from: => TOLEAUTO:SAVEAS( 0 )
Called from: gestcuan.prg => GESTCUA411( 5356 )
Called from: gestcuan.prg => (b)GESTCUA413( 5254 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK( 476 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP( 667 )
Called from: control.prg => TCONTROL:HANDLEEVENT( 1731 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT( 1470 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3236 )
Called from: => WINRUN( 0 )
Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE( 1003 )
Called from: cyewin.prg => MAIN( 203 )
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\SHLWAPI.dll
3 , C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9600.18006_none_a9ec6a
4 Conmutación de tareas, C:\ColtHop\CyEWin\CyEWin.exe
5 DDE Server Window, C:\Windows\SYSTEM32\OLE32.DLL
6 Layered Hidden Window, C:\ColtHop\CyEWin\freeimage.dll
Variables in use
================
Procedure Type Value
==========================
TOLEAUTO:SAVEAS
Param 1: O Class: ERROR
GESTCUA411
Param 1: C "C:\ColtHop\CyEWin\EMP00001\dili2015.doc"
Param 2: N 1
Local 1: U
Local 2: U
(b)GESTCUA413
TBTNBMP:CLICK
Param 1: O Class: TBTNBMP
TBTNBMP:LBUTTONUP
TCONTROL:HANDLEEVENT
Param 1: N 28
Param 2: N 17
Param 3: N 0
Local 1: L .T.
Local 2: S
TBTNBMP:HANDLEEVENT
Param 1: N 514
Param 2: N 0
Param 3: N 1835025
Local 1: U
_FWH
Param 1: N 514
Param 2: N 0
Param 3: N 1835025
WINRUN
Param 1: N 1835025
Param 2: N 514
Param 3: N 0
Param 4: N 1835025
Param 5: N 70
Local 1: O Class: TBTNBMP
TMDIFRAME:ACTIVATE
Param 1: N 198592
MAIN
Param 1: C "MAXIMIZED"
Param 2: U
Param 3: U
Param 4: U
Param 5: U
Param 6: U
Param 7: U
Param 8: B {|| ... }
Param 9: U
Param 10: U
Param 11: U
Param 12: U
Param 13: U
Param 14: U
Param 15: U
Param 16: U
Param 17: B {|| ... }
Param 18: U
Param 19: U
Local 1: O Class: TMDIFRAME
Local 2: U
Local 3: U
Linked RDDs
===========
DBF
DBFFPT
DBFBLOB
DBFCDX
DataBases in use
================
1: EMPRESA RddName: DBFCDX
==============================
RecNo RecCount BOF EOF
139 143 .F. .F.
Indexes in use TagName
=> numero EMPRE01
apellidos + nombre EMPRE02
Relations in use
40: => DATOWOR3 RddName: DBFCDX
==============================
RecNo RecCount BOF EOF
1 1 .F. .F.
Indexes in use TagName
Relations in use
Classes in use:
===============
1 ERROR
2 HBCLASS
3 HBOBJECT
4 TCURSOR
5 TFONT
6 TWINDOW
7 TMDIFRAME
8 TCONTROL
9 TICON
10 TBRUSH
11 TMENU
12 TMENUITEM
13 TMDICLIENT
14 TMSGBAR
15 TRECT
16 TMSGITEM
17 TTIMER
18 TSAY
19 TMDICHILD
20 TMETER
21 TRIBBONBAR
22 TRPANEL
23 TRBGROUP
24 TRBTN
25 TBTNBMP
26 TCOMBOBOX
27 TGET
28 GET
29 TCLIPGET
30 TBITMAP
31 TIMAGE
32 TBUTTON
33 WIN_OLEAUTO
34 TOLEAUTO
35 TREG32
Memory Analysis
===============
218 Static variables
Dynamic memory consume:
Actual Value: 0 bytes
Highest Value: 0 bytes
Gracias y Un saludo
Carlos