FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Excel error
Posts: 731
Joined: Fri Oct 07, 2005 07:42 AM
Excel error
Posted: Thu Jul 10, 2008 08:25 AM

Amigos, tengo un script que funciona muy bien, y tengo que pasarlo a Harbour;

Y tengo problemas en esta simple linea;

objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Open( cFileIn, xlUpdateLinksAlways )

En Harbour quedaria;

define xlUpdateLinksAlways 3

objExcel = CreateObject("Excel.Application")
objExcel:Workbooks:Open( cFileIn, xlUpdateLinksAlways )

Pero.. siempre mi amigo Murphy;

Error description: Error Excel.Application:WORKBOOKS/14 DISP_E_BADPARAMCOUNT: OPEN
Args:
[ 1] = C y1.xlsx
[ 2] = N 3

Alguien puede echarme un cable ?

Thanks!

Saludos

Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
Posts: 731
Joined: Fri Oct 07, 2005 07:42 AM
Re: Excel error
Posted: Thu Jul 10, 2008 09:20 AM
thefull wrote:Amigos, tengo un script que funciona muy bien, y tengo que pasarlo a Harbour;

Y tengo problemas en esta simple linea;

objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Open( cFileIn, xlUpdateLinksAlways )

En Harbour quedaria;

#define xlUpdateLinksAlways 3
objExcel = CreateObject("Excel.Application")
objExcel:Workbooks:Open( cFileIn, xlUpdateLinksAlways )


Pero.. siempre mi amigo Murphy;

Error description: Error Excel.Application:WORKBOOKS/14 DISP_E_BADPARAMCOUNT: OPEN
Args:
[ 1] = C y1.xlsx
[ 2] = N 3


Alguien puede echarme un cable ?

Thanks!


Dios, siempre me contesto a mi mismo...
Bueno, el problema era que el señor EXCEL le tienes que pasar la RUTA
COMPLETA si no, no funciona, y por eso el error

Os dejo aqui una manera de copiar los datos vinculados a otro fichero,
sin tener en cuenta el vinculo.
La manera correcta seria un PasteSpecial, PERO NO HE DESCUBIERTO como funciona, al menos esto me a servido para salir del paso.


try
objExcel := CreateObject("Excel.Application") // TOleAuto():New( "Excel.Application" )
catch
? "No existe EXCEL"
end

cFileIn := "c:\hoja.xlsx"
cFileOut := "c:\output.xls"

objExcel:Visible = .F.

objExcel:Application:DisplayAlerts := .F.
objExcel:Application:AskToUpdateLinks := .T.

objWorkbook := objExcel:Workbooks:Open( cFileIn,3 )
objWorkbook:RefreshAll()

oSheet := objExcel:Get( "ActiveSheet" )
oSheet:Copy()

oLibro := objExcel:Get( "ActiveWorkbook" )
oHoja := oLibro:Item( 1 )

oLibro:SaveAs( cFileOut, -4143 )

objExcel:Quit()
objExcel := NIL
Saludos

Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)

Continue the discussion