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:Sheets:Item( 1 )
oLibro:SaveAs( cFileOut, -4143 )
objExcel:Quit()
objExcel := NIL