FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Error Excel
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Error Excel
Posted: Thu Apr 20, 2023 02:51 PM
Amigos si me pueden ayudar les agradezco.
Tengo un cliente que lista a excel y le sale este error aleatoriamente.

Error description: Error BASE/1005 No existe la variable de instancia SIZE
Called from => SIZE()



Por favor una luz...

Gracias.
Ruben Dario Fernandez
Code (fw): Select all Collapse
FUNCTION EXCELCUENTA(fechaini, fechafin, numedecli,logocolor) 
LOCAL xTOTI:=0 ,xxnFila:=0,xxnCol:=0, ntotalentradas:=0, ntotalsalidas:=0
local xxCO1:=0,xxCO2:=0,xxCO3:=0,xxCO4:=0,xxfec:=date(),xxdp:=0,xxhp:=0,xxdd:=0,xxhd:=0,xxDETA:=SPACE(25)
LOCAL xxhcc:=0, 聽xxDateDeSaldoaRetornar:=Date(), xxnElNuevoSaldo:=0, xxcuenta1,;
聽 聽 聽 聽 xxnombresubcta, xxlhaydatos:= .F.,cNombrecuenta0:= "",lamoneda:= ""
LOCAL xXPRPRE1,xXPRMOV1, xXDBESE33,xxFila:=0 , xxColumna:= 0, xxCelda:=0, xXCLIENTE, xxNomApe:= "",xNmf:=1, xncol:=0, cArchivologo

LOCAL xXoExcel,xXoBook, xXoSheet,xXxl:=0, xXoHoja , xcHastaborde, xcnCol:="",xCOLUMNA:=0,xstrfila:="", cCuentaSub:= Space(9)

xXcuenta1 := numedecli 

XXPRPRE1:=TData():New(, "preliki")
IF XXPRPRE1:Use() 
聽 聽 XXPRPRE1:SetOrder(1)
聽 聽 XXPRPRE1:GOTOP()
Else
聽 聽 MsgInfo( "Error aperura base de datos Cuentas", "Informe")
聽 聽 RETURN(.F.)
Endif 聽 聽

XXPRMOV1:=TData():New(, "jjmov")
IF XXPRMOV1:Use() 
聽 聽 XXPRMOV1:SetOrder(1)
聽 聽 XXPRMOV1:GOTOP()
Else
聽 聽 XXPRPRE1:Close()
聽 聽 MsgInfo( "Error aperura base de datos Cuentas", "Informe")
聽 聽 RETURN(.F.)
Endif 聽 聽
聽 聽 
XXDBESE33 := TData():New(,"scta")
IF 聽XXDBESE33:Use() 
聽 聽 XXDBESE33:SetOrder("STA")
聽 聽 XXDBESE33:GOTOP()
聽 聽 IF XXDBESE33:SEEK(numedecli )
聽 聽 聽 聽 cNombrecuenta0:= XXDBESE33:SUCLINO 
聽 聽 聽 聽 xxnombresubcta 聽:= xXDBESE33:SUBNOM 聽 聽 聽
聽 聽 聽 聽 cTipoMoneda:= xXDBESE33:Timon
聽 聽 聽 聽 lamoneda:= cTipomoneda
聽 聽 Else 聽
聽 聽 聽 聽 MsgInfo( "No encuento la cuenta", "Error 593 de red")
聽 聽 聽 聽 xXPRPRE1:Close()
聽 聽 聽 聽 xXPRMOV1:Close()
聽 聽 聽 聽 xXXDBESE33:Close()
聽 聽 聽 聽 RETURN(.F.)
聽 聽 Endif 聽 聽
Else
聽 聽 xXPRPRE1:Close()
聽 聽 xXPRMOV1:Close()
聽 聽 MsgInfo( "Error aperura base de datos Cuentas", "Informe")
聽 聽 RETURN(.F.)
Endif 聽 聽 聽 聽
XXDBESE33:Close() 



If Empty(clientegral ) 聽
聽 聽 Return(.F.) 
Endif 

xXoExcel := ExcelObj()
If xXoExcel == nil
聽 聽 MsgInfo("Excel no est谩 instalado", "Informe") 聽 聽 
聽 聽 RETURN(.F.)
Endif 聽 
xXoExcel := TOleAuto():New("Excel.Application")
xXoExcel:WorkBooks:Add()
xXoExcel:Sheets("Hoja1") ; xXoHoja:=xxoExcel:ActiveSheet()
xXoHoja:Cells:Font:Name := "Arial"
xXoHoja:Cells:Font:Size:= 8 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 //10
xXoHoja:PageSetup:Orientation := 1
xXoExcel:DisplayAlerts := .f.

oRange:= xxoHoja:Range("B2:E2") 聽 聽
oRange:MergeCells:= .T. 聽 聽
oRange:HorizontalAlignment:=xlCenter

oRange:= xxoHoja:Range("B3:E3") 聽 聽
oRange:MergeCells:= .T. 聽 聽
oRange:HorizontalAlignment:=xlCenter

oRange:= xxoHoja:Range("B4:E4") 聽 聽
oRange:MergeCells:= .T. 聽 聽
oRange:HorizontalAlignment:=xlCenter

oRange:= xxoHoja:Range("B5:E5") 聽 聽
oRange:MergeCells:= .T. 聽 聽
oRange:HorizontalAlignment:=xlCenter

oRange:= xxoHoja:Range("B6:E6") 聽 聽
oRange:MergeCells:= .T. 聽 聽
oRange:HorizontalAlignment:=xlCenter

If logocolor
聽 聽xxoHoja:Shapes:AddPicture("C:\AlfaInmo\logocolor.jpg",.t.,.t.,2,2,60,40) 聽 聽 聽 聽 
Else
聽 聽xxoHoja:Shapes:AddPicture("C:\AlfaInmo\logonegro.jpg",.t.,.t.,2,2,60,40) 聽 聽 聽 聽 
Endif
聽 聽
聽 聽 
//xxoHoja:Shapes:AddPicture(cArchivologo,.t.,.t.,2,2,60,40) 聽 聽 聽 聽 聽 聽 聽 聽 //5.5
xXoHoja:Cells(2,2):Font:Name := "Verdana" 聽 
xxoHoja:Cells(2,2):Font:Size := 12 聽 
xxoHoja:Cells(2,2):Font:Bold := .T. 
xxoHoja:Cells(2,2):Value:= "INMOBILIARIA J&J"
xxoHoja:Cells(2,2):Font:Bold := .T.
xxoHoja:Cells(3,2):Value:= "Reporte de cuenta "+ xTrim(numedecli) + " 聽desde : "+ 聽DtoC(fechaini) + " 聽hasta el : "+DtoC(fechafin)
xxoHoja:Cells(4,2):Value:= "Cliente : " + cNombrecuenta0


xXoHoja:Columns(1):ColumnWidth:= 10 聽 聽
xXoHoja:Columns(2):ColumnWidth:= 24 聽 
xXoHoja:Columns(3):ColumnWidth:= 10 聽 聽
xXoHoja:Columns(4):ColumnWidth:= 10 聽 
xXoHoja:Columns(5):ColumnWidth:= 10 聽 
xXoHoja:Columns(6):ColumnWidth:= 10 聽 聽

xxnElNuevoSaldo:= OTROSALDOANTERIOR(lamoneda, fechaini , fechafin , xxcuenta1 )聽

oRange:= xxoHoja:Range("B5:E5") 聽 聽
oRange:MergeCells:= .T. 聽 聽
oRange:HorizontalAlignment:=xlCenter
xXoHoja:Cells( 5, 2 ):HorizontalAlignment:=xlEdgeLeft 
xxoHoja:Cells(5,2):Value:= "Cuenta : " +xxcuenta1 聽+" "+XtRIM(xxnombresubcta)

If xTrim(cTipoMoneda)== "D"
聽 聽 xxoHoja:Cells(6,2):Value:= HBA("Cuenta en d贸lares americanos")
Else
聽 聽 xxoHoja:Cells(6,2):Value:= "Cuenta en pesos uruguayos"
Endif 

xxoHoja:Range("A7:F7"):Font:Name:= "Calibri" 聽 聽 聽 
xxoHoja:Range("A7:F7"):Font:Size := 8 聽 聽 聽
xxoHoja:Range("A7:F7"):Font:Bold := .T. 聽
xxoHoja:Range("A7:F7"):Borders():LineStyle := 1 聽 聽 聽 
xxoHoja:Range("A7:F7"):Interior:Color := CLR_YELLOW
xXoHoja:Cells( 7, 1 ):HorizontalAlignment:= -4131 
xXoHoja:Cells( 7, 3 ):HorizontalAlignment:=-4152
xXoHoja:Cells( 7, 4 ):HorizontalAlignment:=-4152 
xXoHoja:Cells( 7, 5 ):HorizontalAlignment:=-4152
xXoHoja:Cells( 7, 6 ):HorizontalAlignment:=-4152 

If xTrim(cTipoMoneda) == "D"
聽 聽 xxoHoja:Cells(7,1):Value:= "Fecha"
聽 聽 xxoHoja:Cells(7,2):Value:= "Detalles"
聽 聽 xxoHoja:Cells(7,3):Value:= "Debe $"
聽 聽 xxoHoja:Cells(7,4):Value:= "Haber $"
聽 聽 xxoHoja:Cells(7,5):Value:= "Debe US$"
聽 聽 xxoHoja:Cells(7,6):Value:= "Haber US$"
聽 聽 xxoHoja:Cells(8,2):Value:= "Saldo anterior"

聽 聽 IF xxnElNuevoSaldo < 0
聽 聽 聽 聽 xxoHoja:Cells(8,5):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 xxoHoja:Cells(8,5):Value:= Transform(xxnElNuevoSaldo,"9,999,999,999.99") 
聽 聽 Else
聽 聽 聽 聽 xxoHoja:Cells(8,6):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 xxoHoja:Cells(8,6):Value:= Transform(xxnElNuevoSaldo,"9,999,999,999.99") 
聽 聽 Endif 
Else
聽 聽 xxoHoja:Cells(8,1):Value:= "Fecha"
聽 聽 xxoHoja:Cells(8,2):Value:= "Detalles"
聽 聽 xxoHoja:Cells(8,3):Value:= "Debe US$"
聽 聽 xxoHoja:Cells(8,4):Value:= "Haber US$"
聽 聽 xxoHoja:Cells(8,5):Value:= "Debe $"
聽 聽 xxoHoja:Cells(8,6):Value:= "Haber $"
聽 聽 xxoHoja:Cells(8,2):Value:= "Saldo anterior"
聽 聽 IF xxnElNuevoSaldo < 0
聽 聽 聽 聽 xxoHoja:Cells(8,5):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 xxoHoja:Cells(8,5):Value:= Transform(xxnElNuevoSaldo,"9,999,999,999.99") 
聽 聽 Else
聽 聽 聽 聽 xxoHoja:Cells(8,6):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 xxoHoja:Cells(8,6):Value:= Transform(xxnElNuevoSaldo,"9,999,999,999.99") 
聽 聽 Endif
Endif 
SysRefresh()

xxnfila:= 8
xxPRMOV1:SetOrder("MCFE") 聽
xxPRMOV1:GOTOP()
IF xxPRMOV1:SEEK(alltrim(xxcuenta1 ))
聽 聽 聽 聽 Do While !xxPRMOV1:EOF() 聽 聽 聽 聽 聽 聽 聽 
聽 聽 聽 聽 聽 聽 xxfec:=xxPRMOV1:MFEC
聽 聽 聽 聽 聽 聽 If xxfec >= fechaini 聽.and. xxfec <= fechafin 聽 .AND. Alltrim(xxPRMOV1:MPETA) == Alltrim(xxcuenta1) 
聽 聽 聽 聽 聽 聽 聽 聽 xxdeta :=xxPRMOV1:MDESC 聽
聽 聽 聽 聽 聽 聽 聽 聽 xxdp:=xxPRMOV1:MPEDEB
聽 聽 聽 聽 聽 聽 聽 聽 xxhp:=xxPRMOV1:MPEHAB
聽 聽 聽 聽 聽 聽 聽 聽 xxdd:=xxPRMOV1:MDODEBE
聽 聽 聽 聽 聽 聽 聽 聽 xxhd:=xxPRMOV1:MDOHABE
聽 聽 聽 聽 聽 聽 聽 聽 If xTrim(cTipomoneda) == "D"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ntotalentradas += xxhd
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ntotalsalidas 聽+= xxdd
聽 聽 聽 聽 聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ntotalentradas += xxdp
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ntotalsalidas 聽+= xxhp
聽 聽 聽 聽 聽 聽 聽 聽 Endif
聽 聽 聽 聽 聽 聽 聽 聽 If xTrim(cTipoMoneda )== "D"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxnElNuevoSaldo :=( xxnElNuevoSaldo) + (xxdd) 聽 + (xxhd) 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxCO3+=(xxDD)
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxCO4+=(xxHD)
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 
聽 聽 聽 聽 聽 聽 聽 聽 Else 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxnElNuevoSaldo :=( xxnElNuevoSaldo) + (xxdp) 聽 + (xxhp) 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxCO3+=(xxDp)
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxCO4+=(xxHp)
聽 聽 聽 聽 聽 聽 聽 聽 Endif
聽 聽 聽 聽 聽 聽 聽 聽 lVi:=.t.
聽 聽 聽 聽 聽 聽 聽 聽 If xTrim(cTipoMoneda)=="D"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xXnFila+=1
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xxDP <> 0 .OR. xxHP <> 0 .OR. xxDD <> 0 聽.OR. 聽xxHD <> 0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 lhaydatos := .t.
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xXoHoja:Cells( xxnfila, 1 ):HorizontalAlignment:= -4131 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnFila,1):Value:= DTOC(xXFEC)
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnFila,2):Value:= XtRIM(HBA(xXDETA))
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xXDD <> 0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnfila,3):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(xxdp < 0, xxoHoja:Cells(xxnFila,3):Value:= xxdp, 聽 )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnfila,5):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnFila,5):Value:= xxdd
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Endif 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xXHD <> 0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnfila,4):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(xxhp > 0, xxoHoja:Cells(xxnFila,4):Value:= xxhp, 聽 )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnfila,6):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnFila,6):Value:= xxhd 聽 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Endif 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Endif
聽 聽 聽 聽 聽 聽 聽 聽 Else 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xXnFila+=1
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xXDP <> 0 .OR. xXHP <> 0 .OR. xXDD <> 0 聽.OR. 聽xXHD <> 0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 lhaydatos := .t.
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xXoHoja:Cells( xxnfila, 1 ):HorizontalAlignment:= -4131 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnFila,1):Value:= DTOC(xXFEC)
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnFila,2):Value:= XtRIM(HBA(xXDETA))
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xxDp <> 0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnfila,3):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(xxhp < 0, xxoHoja:Cells(xxnFila,3):Value:= xxhp, 聽 ) 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnfila,5):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnFila,5):Value:=xxdp
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Endif 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xxHp <> 0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnfila,4):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(xxhd > 0, xxoHoja:Cells(xxnFila,4):Value:= xxhd, 聽 ) 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnfila,6):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnFila,6):Value:= xxhp
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Endif 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Endif
聽 聽 聽 聽 聽 聽 聽 聽 Endif 
聽 聽 聽 聽 聽 聽 聽 聽 SysRefresh()
聽 聽 聽 聽 聽 聽 聽 聽 xxPRMOV1:SKIP(1) 
聽 聽 聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 聽 聽 聽xxPRMOV1:SKIP(1) 
聽 聽 聽 聽 聽 聽 Endif
聽 聽 聽 聽 EndDo 聽
Endif
//xxnfila+=2
xxPRPRE1:SetOrder("PLCFE" ) 聽 聽 聽 聽 
xxPRPRE1:GOTOP()
IF xXPRPRE1:SEEK(alltrim(xXcuenta1 ))
聽 聽 Do while 聽!xXPRPRE1:Eof() 聽
聽 聽 聽 聽 xXfec:=xXPRPRE1:pfecha
聽 聽 聽 聽 xXpepeta:= xXPRPRE1:peta 聽 聽 聽 聽 //sub
聽 聽 聽 聽 if (xXfec >= fechaini 聽.and. xXfec <= fechafin ) 聽 聽.AND. xXPRPRE1:PETA == xXcuenta1 聽
聽 聽 聽 聽 聽 聽 xXdeta :=xxPRPRE1:pdeta 聽
聽 聽 聽 聽 聽 聽 xXdp:=xXPRPRE1:pedebe
聽 聽 聽 聽 聽 聽 xXhp:=xXPRPRE1:pehaber
聽 聽 聽 聽 聽 聽 xXdd:=xXPRPRE1:doldeb
聽 聽 聽 聽 聽 聽 xXhd:=xXPRPRE1:dolhab
聽 聽 聽 聽 聽 聽 If xTrim(cTipomoneda) == "D"
聽 聽 聽 聽 聽 聽 聽 聽 ntotalentradas += xxhd
聽 聽 聽 聽 聽 聽 聽 聽 ntotalsalidas 聽+= xxdd
聽 聽 聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 聽 聽 聽 ntotalentradas += xxdp
聽 聽 聽 聽 聽 聽 聽 聽 ntotalsalidas 聽+= xxhp
聽 聽 聽 聽 聽 聽 Endif
聽 聽 聽 聽 聽 聽 If xTrim(cTipoMoneda) == "D"
聽 聽 聽 聽 聽 聽 聽 聽 xXnElNuevoSaldo :=( xXnElNuevoSaldo) + (xXdd) 聽 + (xXhd) 聽
聽 聽 聽 聽 聽 聽 聽 聽 xXCO3+=(xXDD)
聽 聽 聽 聽 聽 聽 聽 聽 xXCO4+=(xXHD)
聽 聽 聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 聽 聽 聽 xXnElNuevoSaldo := (xXnElNuevoSaldo) + (xXdp) 聽 + (xXhp) 
聽 聽 聽 聽 聽 聽 聽 聽 xXCO3+=(xXDp)
聽 聽 聽 聽 聽 聽 聽 聽 xXCO4+=(xXHp)
聽 聽 聽 聽 聽 聽 Endif
聽 聽 聽 聽 聽 聽 lVi :=.t.
聽 聽 聽 聽 聽 聽 IF xXDD <> 0 聽.OR. xXDP <> 0 .OR. xXHP <> 0 .OR. xXHD <> 0
聽 聽 聽 聽 聽 聽 聽 聽 xxnFila+=1
聽 聽 聽 聽 聽 聽 聽 聽 lhaydatos := .T. 
聽 聽 聽 聽 聽 聽 聽 聽 xXoHoja:Cells( xxnfila, 1 ):HorizontalAlignment:= -4131 
聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnFila,1):Value:= DTOC(xXFEC)
聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnFila,2):Value:=hba( XtRIM(xXDETA))

聽 聽 聽 聽 聽 聽 聽 聽 If xTrim(cTipoMoneda) == "D"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xXDD <> 0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnfila,3):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(xxdp < 0, xxoHoja:Cells(xxnFila,3):Value:= xxdp, 聽 ) 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnfila,5):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnFila,5):Value:= xxdd
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Endif 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xXHD <> 0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnfila,4):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(xxhp > 0, xxoHoja:Cells(xxnFila,4):Value:= xxhp, 聽 ) 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnfila,6):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnFila,6):Value:= xxhd
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Endif
聽 聽 聽 聽 聽 聽 聽 聽 Else 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xXDP <> 0 .OR. xXHP <> 0 .OR. xXDD <> 0 聽.OR. 聽xXHD <> 0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 lhaydatos := .t.
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xxDp <> 0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnfila,3):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(xxdd > 0, xxoHoja:Cells(xxnFila,4):Value:= xxdd, 聽 ) 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnfila,5):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnFila,5):Value:= xxdp
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Endif 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xxHp <> 0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnfila,4):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(xxhd > 0, xxoHoja:Cells(xxnFila,4):Value:= xxhd, 聽 ) 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnfila,6):NumberFormat := " ###,##0.00" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells(xxnFila,6):Value:= xxhp 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Endif 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 Endif
聽 聽 聽 聽 聽 聽 聽 聽 Endif 

聽 聽 聽 聽 聽 聽 Endif
聽 聽 聽 聽 聽 聽 xxPRPRE1:SKIP(1)
聽 聽 聽 聽 Else 
聽 聽 聽 聽 聽 聽 xxPRPRE1:SKIP(1)
聽 聽 聽 聽 Endif
聽 聽 EndDo 
聽 聽 xxnfila+=3 聽
Endif 

MsgInfo() 

If xxnElNuevoSaldo < 0
聽 聽 oRange:= xxoHoja:Range("A"+xTrim(Str(xxnfila-1))+":D"+xTrim(Str(xxnfila-1))) 聽 聽
聽 聽 oRange:MergeCells:= .T.
聽 聽 xxoHoja:Range( "A"+xTrim(Str(xxnfila-1)) + ":F"+xTrim(Str(xxnfila-1 ))):Borders():LineStyle := 1
聽 聽 xXoHoja:Cells( xxnFila-1, 2 ):Font:Bold 聽 := .T.
聽 聽 xXoHoja:Cells( xxnFila-1, 2 ):Font:Italic 聽 := .T.
聽 聽 xXoHoja:Cells( xxnFila-1,5 ):Font:Bold 聽 := .T.
聽 聽 xXoHoja:Cells( xxnFila-1, 5 ):Font:Italic 聽 := .T.
聽 聽 xxoHoja:Cells(xxnFila-1,1):Value:= "Saldo ....."
聽 聽 xxoHoja:Cells(xxnFila-1,5):Value:= xxnElNuevoSaldo
Else
聽 聽 oRange:= xxoHoja:Range("A"+xTrim(Str(xxnfila-1))+":D"+xTrim(Str(xxnfila-1))) 聽 聽
聽 聽 oRange:MergeCells:= .T.
聽 聽 xxoHoja:Range( "A"+xTrim(Str(xxnfila-1)) + ":F"+xTrim(Str(xxnfila-1 ))):Borders():LineStyle := 1
聽 聽 xXoHoja:Cells( xxnFila-1, 2 ):Font:Bold 聽 := .T.
聽 聽 xXoHoja:Cells( xxnFila-1, 2 ):Font:Italic 聽 := .T.
聽 聽 xXoHoja:Cells( xxnFila-1, 6 ):Font:Bold 聽 := .T.
聽 聽 xXoHoja:Cells( xxnFila-1, 6 ):Font:Italic 聽 := .T.
聽 聽 xxoHoja:Cells(xxnFila-1,1):Value:= "Saldo ....."
聽 聽 xxoHoja:Cells(xxnFila-1,6):Value:= xxnElNuevoSaldo
Endif 
xxnfila +=2
xxoHoja:Cells(xxnFila,6):Value:= ntotalentradas
xxnfila +=1
xxoHoja:Cells(xxnFila,6):Value:= ntotalsalidas

MsgInfo(ntotalentradas )
MsgInfo(ntotalsalidas)




XxoHoja := XxoExcel:ActiveSheet()
XxoExcel:Visible := .T.
Hb_GCall(.T.)
聽 聽 聽 聽 聽 聽 
XxPRPRE1:Close()
XxPRMOV1:Close() 
SysRefresh()
聽 聽 

RETURN(.F.)
Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay
Posts: 1772
Joined: Thu Sep 05, 2019 05:32 AM
Re: Error Excel
Posted: Thu Apr 20, 2023 04:13 PM
hi,

it is not Method Size() itself

you need to "check" if ActiveX Object was create() :!:
Code (fw): Select all Collapse
xXoExcel := TOleAuto():New("Excel.Application")
If xXoExcel == nil
聽 聽 MsgInfo("Excel not create", "Informe") 聽 聽
聽 聽 RETURN(.F.)
Endif
greeting,

Jimmy
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Re: Error Excel
Posted: Thu Apr 20, 2023 05:27 PM

Thank you, I will update my software and test in the client machine.

Regrds

Ruben Dario Fernandez

Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Error Excel
Posted: Thu Apr 20, 2023 05:30 PM
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 318
Joined: Fri Jan 14, 2022 08:37 AM
Re: Error Excel
Posted: Fri Apr 21, 2023 11:27 AM
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Re: Error Excel
Posted: Fri Apr 21, 2023 02:52 PM

Gracias karinha, tengo hecha un listado con FileXLS

que funciona bien.

Lo que pasa que el cliente se acostumbr贸 al otro excel, *.xlsx que queda mejor.

Seguire buscanbo a ver que encuentro.

Muchas gracias.

Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Error Excel
Posted: Fri Apr 21, 2023 02:55 PM
D.Fernandez wrote:Gracias karinha, tengo hecha un listado con FileXLS
que funciona bien.
Lo que pasa que el cliente se acostumbr贸 al otro excel, *.xlsx que queda mejor.

Seguire buscanbo a ver que encuentro.

Muchas gracias.
Ruben, puede muestrar un ejemplo porfa? 脡s mejor para probar.

Mira:

https://app.box.net/s/lck9effuyn?page=3

https://forums.fivetechsupport.com/viewtopic.php?t=6849


gracias.

Saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Re: Error Excel
Posted: Fri Apr 21, 2023 03:06 PM

Gracias paquitohm, lo tengo funcionando con FilesXLS,

pero el cliente se acostumbr贸 al *.xlsx que queda mejor y ahora quiere ese tipo de planilla.

Seguir茅 viendo.

Muchas Gracias.

Ruben Fernandez

Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Re: Error Excel
Posted: Fri Apr 21, 2023 03:10 PM

Hola Jimmy, recien vengo de la casa del cliente, con estos cambios tambien me salio el mismo error.

Seguire viendo.

Esto me tiene loco ya.

Muchas gracias.

Ruben Fernandez

Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Error Excel
Posted: Fri Apr 21, 2023 03:52 PM
Ruben, mira como lo haria:
Code (fw): Select all Collapse
// C:\FWH..\SAMPLES\RUBENS2.PRG

FUNCTION EXCELCUENTA( fechaini, fechafin, numedecli, logocolor )

聽 聽LOCAL xTOTI := 0, xxnFila := 0, xxnCol := 0, ntotalentradas := 0, ntotalsalidas := 0
聽 聽LOCAL xxCO1 := 0, xxCO2 := 0, xxCO3 := 0, xxCO4 := 0, xxfec := Date(), xxdp := 0, xxhp := 0, xxdd := 0, xxhd := 0, xxDETA := Space( 25 )
聽 聽LOCAL xxhcc := 0, 聽xxDateDeSaldoaRetornar := Date(), xxnElNuevoSaldo := 0, xxcuenta1, ;
聽 聽 聽 xxnombresubcta, xxlhaydatos := .F., cNombrecuenta0 := "", lamoneda := ""
聽 聽LOCAL xXPRPRE1, xXPRMOV1, xXDBESE33, xxFila := 0, xxColumna := 0, xxCelda := 0, xXCLIENTE, xxNomApe := "", xNmf := 1, xncol := 0, cArchivologo
聽 聽LOCAL oExcel, xXoBook, xXoSheet, xXxl := 0, xXoHoja, xcHastaborde, xcnCol := "", xCOLUMNA := 0, xstrfila := "", cCuentaSub := Space( 9 )

聽 聽hb_gcAll( .F. ) 聽// limpia basura. caso tenga.m aqui si Ruben.

聽 聽xXcuenta1 := numedecli

聽 聽XXPRPRE1 := TData():New(, "preliki" )

聽 聽IF XXPRPRE1:Use()
聽 聽 聽 XXPRPRE1:SetOrder( 1 )
聽 聽 聽 XXPRPRE1:GOTOP()
聽 聽ELSE
聽 聽 聽 MsgInfo( "Error aperura base de datos Cuentas", "Informe" )
聽 聽 聽 RETURN( .F. )
聽 聽ENDIF

聽 聽XXPRMOV1 := TData():New(, "jjmov" )

聽 聽IF XXPRMOV1:Use()
聽 聽 聽 XXPRMOV1:SetOrder( 1 )
聽 聽 聽 XXPRMOV1:GOTOP()
聽 聽ELSE
聽 聽 聽 XXPRPRE1:Close()
聽 聽 聽 MsgInfo( "Error aperura base de datos Cuentas", "Informe" )
聽 聽 聽 RETURN( .F. )
聽 聽ENDIF

聽 聽XXDBESE33 := TData():New(, "scta" )

聽 聽IF XXDBESE33:Use()
聽 聽 聽 XXDBESE33:SetOrder( "STA" )
聽 聽 聽 XXDBESE33:GOTOP()

聽 聽 聽 IF XXDBESE33:SEEK( numedecli )
聽 聽 聽 聽 聽cNombrecuenta0 := XXDBESE33:SUCLINO
聽 聽 聽 聽 聽xxnombresubcta 聽:= xXDBESE33:SUBNOM
聽 聽 聽 聽 聽cTipoMoneda := xXDBESE33:Timon
聽 聽 聽 聽 聽lamoneda := cTipomoneda
聽 聽 聽 ELSE
聽 聽 聽 聽 聽MsgInfo( "No encuento la cuenta", "Error 593 de red" )
聽 聽 聽 聽 聽xXPRPRE1:Close()
聽 聽 聽 聽 聽xXPRMOV1:Close()
聽 聽 聽 聽 聽xXXDBESE33:Close()
聽 聽 聽 聽 聽RETURN( .F. )
聽 聽 聽 ENDIF

聽 聽ELSE

聽 聽 聽 xXPRPRE1:Close()
聽 聽 聽 xXPRMOV1:Close()
聽 聽 聽 MsgInfo( "Error aperura base de datos Cuentas", "Informe" )
聽 聽 聽 RETURN( .F. )
聽 聽ENDIF

聽 聽XXDBESE33:Close()

聽 聽IF Empty( clientegral )
聽 聽 聽 Return( .F. )
聽 聽ENDIF

聽 聽oExcel := ExcelObj()

聽 聽IF oExcel == nil
聽 聽 聽 MsgInfo( "Excel no est谩 instalado", "Informe" )
聽 聽 聽 RETURN( .F. )
聽 聽ENDIF

聽 聽TRY

聽 聽 聽 oExcel := TOleAuto():New( "Excel.Application" )

聽 聽CATCH

聽 聽 聽 TRY

聽 聽 聽 聽 聽oExcel = CreateObject( "Excel.Application" )

聽 聽 聽 CATCH

聽 聽 聽 聽 聽/*
聽 聽 聽 聽 聽MsgInfo( "Excel is not installed on this PC. " + ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "You need Excel to continue", "Ooooopppsss" )
聽 聽 聽 聽 聽*/

聽 聽 聽 聽 聽MsgInfo( "Excel no est谩 instalado", "Informe" )

聽 聽 聽 聽 聽RETURN( .F. )

聽 聽 聽 END

聽 聽END

聽 聽oExcel:WorkBooks:Add()

聽 聽oExcel:DisplayAlerts := .F.
聽 聽oExcel:Visible 聽 聽 聽 := .T.

聽 聽// oWorksheet := oExcel:Get( "ActiveSheet" )
聽 聽oExcel:Sheets( "Hoja1" ) ; xXoHoja := oExcel:ActiveSheet()

聽 聽xXoHoja:Cells:Font:Name := "Arial"
聽 聽xXoHoja:Cells:Font:Size := 8 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 // 10
聽 聽xXoHoja:PageSetup:Orientation := 1

聽 聽oRange := xxoHoja:Range( "B2:E2" )
聽 聽oRange:MergeCells := .T.
聽 聽oRange:HorizontalAlignment := xlCenter

聽 聽oRange := xxoHoja:Range( "B3:E3" )
聽 聽oRange:MergeCells := .T.
聽 聽oRange:HorizontalAlignment := xlCenter

聽 聽oRange := xxoHoja:Range( "B4:E4" )
聽 聽oRange:MergeCells := .T.
聽 聽oRange:HorizontalAlignment := xlCenter

聽 聽oRange := xxoHoja:Range( "B5:E5" )
聽 聽oRange:MergeCells := .T.
聽 聽oRange:HorizontalAlignment := xlCenter

聽 聽oRange := xxoHoja:Range( "B6:E6" )
聽 聽oRange:MergeCells := .T.
聽 聽oRange:HorizontalAlignment := xlCenter

聽 聽IF logocolor
聽 聽 聽 xxoHoja:Shapes:AddPicture( "C:\AlfaInmo\logocolor.jpg", .T., .T., 2, 2, 60, 40 )
聽 聽ELSE
聽 聽 聽 xxoHoja:Shapes:AddPicture( "C:\AlfaInmo\logonegro.jpg", .T., .T., 2, 2, 60, 40 )
聽 聽ENDIF

聽 聽// xxoHoja:Shapes:AddPicture(cArchivologo,.t.,.t.,2,2,60,40) 聽 聽 聽 聽 聽 聽 聽 聽 //5.5
聽 聽xXoHoja:Cells( 2, 2 ):Font:Name := "Verdana"
聽 聽xxoHoja:Cells( 2, 2 ):Font:Size := 12
聽 聽xxoHoja:Cells( 2, 2 ):Font:Bold := .T.
聽 聽xxoHoja:Cells( 2, 2 ):Value := "INMOBILIARIA J&J"
聽 聽xxoHoja:Cells( 2, 2 ):Font:Bold := .T.
聽 聽xxoHoja:Cells( 3, 2 ):Value := "Reporte de cuenta " + xTrim( numedecli ) + " 聽desde : " + 聽DToC( fechaini ) + " 聽hasta el : " + DToC( fechafin )
聽 聽xxoHoja:Cells( 4, 2 ):Value := "Cliente : " + cNombrecuenta0


聽 聽xXoHoja:Columns( 1 ):ColumnWidth := 10
聽 聽xXoHoja:Columns( 2 ):ColumnWidth := 24
聽 聽xXoHoja:Columns( 3 ):ColumnWidth := 10
聽 聽xXoHoja:Columns( 4 ):ColumnWidth := 10
聽 聽xXoHoja:Columns( 5 ):ColumnWidth := 10
聽 聽xXoHoja:Columns( 6 ):ColumnWidth := 10

聽 聽// Que hace?
聽 聽xxnElNuevoSaldo := OTROSALDOANTERIOR( lamoneda, fechaini, fechafin, xxcuenta1 )

聽 聽oRange := xxoHoja:Range( "B5:E5" )
聽 聽oRange:MergeCells := .T.
聽 聽oRange:HorizontalAlignment := xlCenter
聽 聽xXoHoja:Cells( 5, 2 ):HorizontalAlignment := xlEdgeLeft
聽 聽xxoHoja:Cells( 5, 2 ):Value := "Cuenta : " + xxcuenta1 聽+ " " + XtRIM( xxnombresubcta )

聽 聽IF xTrim( cTipoMoneda ) == "D"
聽 聽 聽 xxoHoja:Cells( 6, 2 ):Value := HBA( "Cuenta en d贸lares americanos" )
聽 聽ELSE
聽 聽 聽 xxoHoja:Cells( 6, 2 ):Value := "Cuenta en pesos uruguayos"
聽 聽ENDIF

聽 聽xxoHoja:Range( "A7:F7" ):Font:Name := "Calibri"
聽 聽xxoHoja:Range( "A7:F7" ):Font:Size := 8
聽 聽xxoHoja:Range( "A7:F7" ):Font:Bold := .T.
聽 聽xxoHoja:Range( "A7:F7" ):Borders():LineStyle := 1
聽 聽xxoHoja:Range( "A7:F7" ):Interior:COLOR := CLR_YELLOW
聽 聽xXoHoja:Cells( 7, 1 ):HorizontalAlignment := -4131
聽 聽xXoHoja:Cells( 7, 3 ):HorizontalAlignment := -4152
聽 聽xXoHoja:Cells( 7, 4 ):HorizontalAlignment := -4152
聽 聽xXoHoja:Cells( 7, 5 ):HorizontalAlignment := -4152
聽 聽xXoHoja:Cells( 7, 6 ):HorizontalAlignment := -4152

聽 聽IF xTrim( cTipoMoneda ) == "D"
聽 聽 聽 xxoHoja:Cells( 7, 1 ):Value := "Fecha"
聽 聽 聽 xxoHoja:Cells( 7, 2 ):Value := "Detalles"
聽 聽 聽 xxoHoja:Cells( 7, 3 ):Value := "Debe $"
聽 聽 聽 xxoHoja:Cells( 7, 4 ):Value := "Haber $"
聽 聽 聽 xxoHoja:Cells( 7, 5 ):Value := "Debe US$"
聽 聽 聽 xxoHoja:Cells( 7, 6 ):Value := "Haber US$"
聽 聽 聽 xxoHoja:Cells( 8, 2 ):Value := "Saldo anterior"

聽 聽 聽 IF xxnElNuevoSaldo < 0
聽 聽 聽 聽 聽xxoHoja:Cells( 8, 5 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽xxoHoja:Cells( 8, 5 ):Value := Transform( xxnElNuevoSaldo, "9,999,999,999.99" )
聽 聽 聽 ELSE
聽 聽 聽 聽 聽xxoHoja:Cells( 8, 6 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽xxoHoja:Cells( 8, 6 ):Value := Transform( xxnElNuevoSaldo, "9,999,999,999.99" )
聽 聽 聽 ENDIF

聽 聽ELSE

聽 聽 聽 xxoHoja:Cells( 8, 1 ):Value := "Fecha"
聽 聽 聽 xxoHoja:Cells( 8, 2 ):Value := "Detalles"
聽 聽 聽 xxoHoja:Cells( 8, 3 ):Value := "Debe US$"
聽 聽 聽 xxoHoja:Cells( 8, 4 ):Value := "Haber US$"
聽 聽 聽 xxoHoja:Cells( 8, 5 ):Value := "Debe $"
聽 聽 聽 xxoHoja:Cells( 8, 6 ):Value := "Haber $"
聽 聽 聽 xxoHoja:Cells( 8, 2 ):Value := "Saldo anterior"

聽 聽 聽 IF xxnElNuevoSaldo < 0
聽 聽 聽 聽 聽xxoHoja:Cells( 8, 5 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽xxoHoja:Cells( 8, 5 ):Value := Transform( xxnElNuevoSaldo, "9,999,999,999.99" )
聽 聽 聽 ELSE
聽 聽 聽 聽 聽xxoHoja:Cells( 8, 6 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽xxoHoja:Cells( 8, 6 ):Value := Transform( xxnElNuevoSaldo, "9,999,999,999.99" )
聽 聽 聽 ENDIF

聽 聽ENDIF

聽 聽// SysRefresh() // no use aqui

聽 聽xxnfila := 8

聽 聽xxPRMOV1:SetOrder( "MCFE" )
聽 聽xxPRMOV1:GOTOP()

聽 聽IF xxPRMOV1:SEEK( AllTrim( xxcuenta1 ) )

聽 聽 聽 WHILE( .NOT. xxPRMOV1:EOF() )

聽 聽 聽 聽 聽SYSREFRESH() // AQUI si.

聽 聽 聽 聽 聽xxfec := xxPRMOV1:MFEC

聽 聽 聽 聽 聽IF xxfec >= fechaini 聽.AND. xxfec <= fechafin 聽 .AND. AllTrim( xxPRMOV1:MPETA ) == AllTrim( xxcuenta1 )

聽 聽 聽 聽 聽 聽 xxdeta := xxPRMOV1:MDESC
聽 聽 聽 聽 聽 聽 xxdp := xxPRMOV1:MPEDEB
聽 聽 聽 聽 聽 聽 xxhp := xxPRMOV1:MPEHAB
聽 聽 聽 聽 聽 聽 xxdd := xxPRMOV1:MDODEBE
聽 聽 聽 聽 聽 聽 xxhd := xxPRMOV1:MDOHABE

聽 聽 聽 聽 聽 聽 IF xTrim( cTipomoneda ) == "D"
聽 聽 聽 聽 聽 聽 聽 聽ntotalentradas += xxhd
聽 聽 聽 聽 聽 聽 聽 聽ntotalsalidas 聽+= xxdd
聽 聽 聽 聽 聽 聽 ELSE
聽 聽 聽 聽 聽 聽 聽 聽ntotalentradas += xxdp
聽 聽 聽 聽 聽 聽 聽 聽ntotalsalidas 聽+= xxhp
聽 聽 聽 聽 聽 聽 ENDIF

聽 聽 聽 聽 聽 聽 IF xTrim( cTipoMoneda ) == "D"
聽 聽 聽 聽 聽 聽 聽 聽xxnElNuevoSaldo := ( xxnElNuevoSaldo ) + ( xxdd ) 聽 + ( xxhd )
聽 聽 聽 聽 聽 聽 聽 聽xxCO3 += ( xxDD )
聽 聽 聽 聽 聽 聽 聽 聽xxCO4 += ( xxHD )

聽 聽 聽 聽 聽 聽 ELSE
聽 聽 聽 聽 聽 聽 聽 聽xxnElNuevoSaldo := ( xxnElNuevoSaldo ) + ( xxdp ) 聽 + ( xxhp )
聽 聽 聽 聽 聽 聽 聽 聽xxCO3 += ( xxDp )
聽 聽 聽 聽 聽 聽 聽 聽xxCO4 += ( xxHp )
聽 聽 聽 聽 聽 聽 ENDIF

聽 聽 聽 聽 聽 聽 lVi := .T.

聽 聽 聽 聽 聽 聽 IF xTrim( cTipoMoneda ) == "D"

聽 聽 聽 聽 聽 聽 聽 聽xXnFila += 1

聽 聽 聽 聽 聽 聽 聽 聽IF xxDP <> 0 .OR. xxHP <> 0 .OR. xxDD <> 0 聽.OR. 聽xxHD <> 0

聽 聽 聽 聽 聽 聽 聽 聽 聽 lhaydatos := .T.
聽 聽 聽 聽 聽 聽 聽 聽 聽 xXoHoja:Cells( xxnfila, 1 ):HorizontalAlignment := -4131
聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells( xxnFila, 1 ):Value := DToC( xXFEC )
聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells( xxnFila, 2 ):Value := XtRIM( HBA( xXDETA ) )

聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xXDD <> 0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnfila, 3 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽iif( xxdp < 0, xxoHoja:Cells( xxnFila, 3 ):Value := xxdp, 聽 )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnfila, 5 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnFila, 5 ):Value := xxdd
聽 聽 聽 聽 聽 聽 聽 聽 聽 ENDIF

聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xXHD <> 0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnfila, 4 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽iif( xxhp > 0, xxoHoja:Cells( xxnFila, 4 ):Value := xxhp, 聽 )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnfila, 6 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnFila, 6 ):Value := xxhd
聽 聽 聽 聽 聽 聽 聽 聽 聽 ENDIF

聽 聽 聽 聽 聽 聽 聽 聽ENDIF

聽 聽 聽 聽 聽 聽 ELSE

聽 聽 聽 聽 聽 聽 聽 聽xXnFila += 1

聽 聽 聽 聽 聽 聽 聽 聽IF xXDP <> 0 .OR. xXHP <> 0 .OR. xXDD <> 0 聽.OR. 聽xXHD <> 0

聽 聽 聽 聽 聽 聽 聽 聽 聽 lhaydatos := .T.

聽 聽 聽 聽 聽 聽 聽 聽 聽 xXoHoja:Cells( xxnfila, 1 ):HorizontalAlignment := -4131
聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells( xxnFila, 1 ):Value := DToC( xXFEC )
聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells( xxnFila, 2 ):Value := XtRIM( HBA( xXDETA ) )

聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xxDp <> 0

聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnfila, 3 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽iif( xxhp < 0, xxoHoja:Cells( xxnFila, 3 ):Value := xxhp, 聽 )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnfila, 5 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnFila, 5 ):Value := xxdp

聽 聽 聽 聽 聽 聽 聽 聽 聽 ENDIF

聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xxHp <> 0

聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnfila, 4 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽iif( xxhd > 0, xxoHoja:Cells( xxnFila, 4 ):Value := xxhd, 聽 )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnfila, 6 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnFila, 6 ):Value := xxhp

聽 聽 聽 聽 聽 聽 聽 聽 聽 ENDIF

聽 聽 聽 聽 聽 聽 聽 聽ENDIF

聽 聽 聽 聽 聽 聽 ENDIF

聽 聽 聽 聽 聽 聽 // SysRefresh() // no use aqui

聽 聽 聽 聽 聽 聽 // xxPRMOV1:SKIP( 1 )

聽 聽 聽 聽 聽 聽 SKIP

聽 聽 聽 聽 聽ELSE

聽 聽 聽 聽 聽 聽 // xxPRMOV1:SKIP( 1 )

聽 聽 聽 聽 聽 聽 SKIP

聽 聽 聽 聽 聽ENDIF

聽 聽 聽 ENDDO

聽 聽ENDIF

聽 聽// xxnfila+=2

聽 聽xxPRPRE1:SetOrder( "PLCFE" ) // SET ORDER TO... 01,02,03,04, etc.

聽 聽GO TOP

聽 聽//xxPRPRE1:GOTOP()

聽 聽IF xXPRPRE1:SEEK( AllTrim( xXcuenta1 ) )

聽 聽 聽 WHILE( .NOT. xXPRPRE1:EOF() )

聽 聽 聽 聽 聽SYSREFRESH() // AQUI si.

聽 聽 聽 聽 聽xXfec := xXPRPRE1:pfecha
聽 聽 聽 聽 聽xXpepeta := xXPRPRE1:peta 聽 聽 聽 聽 // sub

聽 聽 聽 聽 聽IF ( xXfec >= fechaini 聽.AND. xXfec <= fechafin ) 聽 聽.AND. xXPRPRE1:PETA == xXcuenta1

聽 聽 聽 聽 聽 聽 xXdeta := xxPRPRE1:pdeta
聽 聽 聽 聽 聽 聽 xXdp := xXPRPRE1:pedebe
聽 聽 聽 聽 聽 聽 xXhp := xXPRPRE1:pehaber
聽 聽 聽 聽 聽 聽 xXdd := xXPRPRE1:doldeb
聽 聽 聽 聽 聽 聽 xXhd := xXPRPRE1:dolhab

聽 聽 聽 聽 聽 聽 IF xTrim( cTipomoneda ) == "D"
聽 聽 聽 聽 聽 聽 聽 聽ntotalentradas += xxhd
聽 聽 聽 聽 聽 聽 聽 聽ntotalsalidas 聽+= xxdd
聽 聽 聽 聽 聽 聽 ELSE
聽 聽 聽 聽 聽 聽 聽 聽ntotalentradas += xxdp
聽 聽 聽 聽 聽 聽 聽 聽ntotalsalidas 聽+= xxhp
聽 聽 聽 聽 聽 聽 ENDIF

聽 聽 聽 聽 聽 聽 IF xTrim( cTipoMoneda ) == "D"
聽 聽 聽 聽 聽 聽 聽 聽xXnElNuevoSaldo := ( xXnElNuevoSaldo ) + ( xXdd ) 聽 + ( xXhd )
聽 聽 聽 聽 聽 聽 聽 聽xXCO3 += ( xXDD )
聽 聽 聽 聽 聽 聽 聽 聽xXCO4 += ( xXHD )
聽 聽 聽 聽 聽 聽 ELSE
聽 聽 聽 聽 聽 聽 聽 聽xXnElNuevoSaldo := ( xXnElNuevoSaldo ) + ( xXdp ) 聽 + ( xXhp )
聽 聽 聽 聽 聽 聽 聽 聽xXCO3 += ( xXDp )
聽 聽 聽 聽 聽 聽 聽 聽xXCO4 += ( xXHp )
聽 聽 聽 聽 聽 聽 ENDIF

聽 聽 聽 聽 聽 聽 lVi := .T.

聽 聽 聽 聽 聽 聽 IF xXDD <> 0 聽.OR. xXDP <> 0 .OR. xXHP <> 0 .OR. xXHD <> 0

聽 聽 聽 聽 聽 聽 聽 聽xxnFila += 1
聽 聽 聽 聽 聽 聽 聽 聽lhaydatos := .T.

聽 聽 聽 聽 聽 聽 聽 聽xXoHoja:Cells( xxnfila, 1 ):HorizontalAlignment := -4131
聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnFila, 1 ):Value := DToC( xXFEC )
聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnFila, 2 ):Value := hba( XtRIM( xXDETA ) )

聽 聽 聽 聽 聽 聽 聽 聽IF xTrim( cTipoMoneda ) == "D"

聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xXDD <> 0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnfila, 3 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽iif( xxdp < 0, xxoHoja:Cells( xxnFila, 3 ):Value := xxdp, 聽 )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnfila, 5 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnFila, 5 ):Value := xxdd
聽 聽 聽 聽 聽 聽 聽 聽 聽 ENDIF

聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xXHD <> 0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnfila, 4 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽iif( xxhp > 0, xxoHoja:Cells( xxnFila, 4 ):Value := xxhp, 聽 )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnfila, 6 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xxoHoja:Cells( xxnFila, 6 ):Value := xxhd
聽 聽 聽 聽 聽 聽 聽 聽 聽 ENDIF

聽 聽 聽 聽 聽 聽 聽 聽ELSE

聽 聽 聽 聽 聽 聽 聽 聽 聽 IF xXDP <> 0 .OR. xXHP <> 0 .OR. xXDD <> 0 聽.OR. 聽xXHD <> 0

聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽lhaydatos := .T.

聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽IF xxDp <> 0
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells( xxnfila, 3 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 iif( xxdd > 0, xxoHoja:Cells( xxnFila, 4 ):Value := xxdd, 聽 )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells( xxnfila, 5 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells( xxnFila, 5 ):Value := xxdp
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽ENDIF

聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽IF xxHp <> 0

聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells( xxnfila, 4 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 iif( xxhd > 0, xxoHoja:Cells( xxnFila, 4 ):Value := xxhd, 聽 )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells( xxnfila, 6 ):NumberFormat := " ###,##0.00"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 xxoHoja:Cells( xxnFila, 6 ):Value := xxhp

聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽ENDIF

聽 聽 聽 聽 聽 聽 聽 聽 聽 ENDIF

聽 聽 聽 聽 聽 聽 聽 聽ENDIF

聽 聽 聽 聽 聽 聽 ENDIF

聽 聽 聽 聽 聽 聽 // xxPRPRE1:SKIP( 1 )

聽 聽 聽 聽 聽 聽 SKIP

聽 聽 聽 聽 聽ELSE

聽 聽 聽 聽 聽 聽 // xxPRPRE1:SKIP( 1 )

聽 聽 聽 聽 聽 聽 SKIP

聽 聽 聽 聽 聽ENDIF

聽 聽 聽 ENDDO

聽 聽 聽 xxnfila += 3

聽 聽ENDIF

聽 聽// MsgInfo() 聽// ??? Para?

聽 聽IF xxnElNuevoSaldo < 0

聽 聽 聽 oRange := xxoHoja:Range( "A" + xTrim( Str( xxnfila - 1 ) ) + ":D" + xTrim( Str( xxnfila - 1 ) ) )
聽 聽 聽 oRange:MergeCells := .T.
聽 聽 聽 xxoHoja:Range( "A" + xTrim( Str( xxnfila - 1 ) ) + ":F" + xTrim( Str( xxnfila - 1 ) ) ):Borders():LineStyle := 1
聽 聽 聽 xXoHoja:Cells( xxnFila - 1, 2 ):Font:Bold 聽 := .T.
聽 聽 聽 xXoHoja:Cells( xxnFila - 1, 2 ):Font:Italic 聽 := .T.
聽 聽 聽 xXoHoja:Cells( xxnFila - 1, 5 ):Font:Bold 聽 := .T.
聽 聽 聽 xXoHoja:Cells( xxnFila - 1, 5 ):Font:Italic 聽 := .T.
聽 聽 聽 xxoHoja:Cells( xxnFila - 1, 1 ):Value := "Saldo ....."
聽 聽 聽 xxoHoja:Cells( xxnFila - 1, 5 ):Value := xxnElNuevoSaldo

聽 聽ELSE

聽 聽 聽 oRange := xxoHoja:Range( "A" + xTrim( Str( xxnfila - 1 ) ) + ":D" + xTrim( Str( xxnfila - 1 ) ) )
聽 聽 聽 oRange:MergeCells := .T.

聽 聽 聽 xxoHoja:Range( "A" + xTrim( Str( xxnfila - 1 ) ) + ":F" + xTrim( Str( xxnfila - 1 ) ) ):Borders():LineStyle := 1
聽 聽 聽 xXoHoja:Cells( xxnFila - 1, 2 ):Font:Bold 聽 := .T.
聽 聽 聽 xXoHoja:Cells( xxnFila - 1, 2 ):Font:Italic 聽 := .T.
聽 聽 聽 xXoHoja:Cells( xxnFila - 1, 6 ):Font:Bold 聽 := .T.
聽 聽 聽 xXoHoja:Cells( xxnFila - 1, 6 ):Font:Italic 聽 := .T.
聽 聽 聽 xxoHoja:Cells( xxnFila - 1, 1 ):Value := "Saldo ....."
聽 聽 聽 xxoHoja:Cells( xxnFila - 1, 6 ):Value := xxnElNuevoSaldo

聽 聽ENDIF

聽 聽xxnfila += 2

聽 聽xxoHoja:Cells( xxnFila, 6 ):Value := ntotalentradas

聽 聽xxnfila += 1
聽 聽xxoHoja:Cells( xxnFila, 6 ):Value := ntotalsalidas

聽 聽//MsgInfo( ntotalentradas )
聽 聽//MsgInfo( ntotalsalidas )

聽 聽XxoHoja := oExcel:ActiveSheet()

聽 聽oExcel:Visible := .T.

聽 聽// hb_gcAll( .T. ) 聽// no use aqui

聽 聽XxPRPRE1:Close() 聽// Porque?
聽 聽XxPRMOV1:Close() 聽// Porque?

聽 聽// SysRefresh() NO USE AQUI

// RETURN( .F. ) 聽// NO ES UN VALID()

RETURN NIL

// FIN / END
Regards, saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1772
Joined: Thu Sep 05, 2019 05:32 AM
Re: Error Excel
Posted: Fri Apr 21, 2023 04:34 PM
hi,
D.Fernandez wrote:recien vengo de la casa del cliente, con estos cambios tambien me salio el mismo error.
when Excel Object is valid i wonder that it fail when access Method

---

what OS and which Office / Excel Version :?:
does it crash when call Excel 1st Time or "later" when call Excel again :?:

general you can put all into a BEGIN SEQUENCE / END to recover when get Error
greeting,

Jimmy
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Re: Error Excel
Posted: Fri Apr 21, 2023 05:19 PM

Hi Jimmy, I tell you later, don't know.

It's very strange.

With my Winn 11 and Office 365, nothing happend.

Thank you very much

Best regards

Ruben Fernandez

Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay
Posts: 48
Joined: Sun Sep 20, 2015 01:41 AM
Re: Error Excel
Posted: Sat Apr 22, 2023 03:48 PM

Hi Jimmy, I believe that the problem in win XP, because in win 11 run ok.

Enviado desde mi 21081111RG mediante Tapatalk

Posts: 1772
Joined: Thu Sep 05, 2019 05:32 AM
Re: Error Excel
Posted: Sun Apr 23, 2023 07:30 AM
hi,
rubenfernandez01 wrote:believe that the problem in win XP, because in win 11 run ok.
i wonder that People still use Windows XP ...

you can try to "check" if Property / Method exist in older Excel Version
Code (fw): Select all Collapse
FUNCTION __objHasData( oObject, cSymbol )

聽 聽IF ! HB_ISOBJECT( oObject ) .OR. ! HB_ISSTRING( cSymbol )
聽 聽 聽 __errRT_BASE( EG_ARG, 3101, , ProcName( 0 ) )
聽 聽ENDIF

RETURN ;
聽 聽__objHasMsg( oObject, cSymbol ) .AND. ;
聽 聽__objHasMsg( oObject, "_" + cSymbol )
Code (fw): Select all Collapse
FUNCTION __objHasMethod( oObject, cSymbol )

聽 聽IF ! HB_ISOBJECT( oObject ) .OR. ! HB_ISSTRING( cSymbol )
聽 聽 聽 __errRT_BASE( EG_ARG, 3101, , ProcName( 0 ) )
聽 聽ENDIF

RETURN ;
聽 聽__objHasMsg( oObject, cSymbol ) .AND. ;
聽 聽! __objHasMsg( oObject, "_" + cSymbol )
greeting,

Jimmy
Posts: 48
Joined: Sun Sep 20, 2015 01:41 AM
Re: Error Excel
Posted: Sun Apr 23, 2023 02:12 PM

Jimmy, thanks, I will try.

Regards,

Ruben Dario Fernandez

Enviado desde mi 21081111RG mediante Tapatalk