Page 1 of 1

Mensaje Error importando SLK

Posted: Sat Jul 25, 2020 8:15 am
by JoseLuis
Buenas

Tengo el siguiente codigo;

Code: Select all

Function Recalvi()
      LOCAL oExcel, oHoja, nRows, nCols,nRow, nCol,nmanejador,a,numero,numeroa
      local nempresa:="R"
      local ldrive:=Publicas:cUnidad+"\ficheros\"
      local expedi,consigna,albaran,domicilio,cp,pobla,peso,bultos,reembo,tipo
      local edisco :='01481000.txt'
      local cFile := cGetFile( "Excel (*.slk)| *.slk|" +         ;
                            "Excel    (*.xls)| *.xls|" +          ;
                            "Excel    (*.xlsx)| *.xlsx|"           ;
                           ,"Selecciona un formato de Excel", 4 )

      oExcel:= TOleAuto():New( "Excel.Application" )
*     cfile :=cGetFile("C:\*.Slk", "Seleccione Fichero")
      If empty( cfile )
        msgwait("Fichero no valido",3)
        Retur nil
      Endif
        oExcel:WorkBooks:Open(cfile) 
        oHoja=oExcel:ActiveSheet 
        nRows := oHoja:UsedRange:Rows:Count()
        nCols := oHoja:UsedRange:Columns:Count()
        if (nManejador:=fCreate(lDrive + edisco))<>-1
        msgwait("Importando Fichero","ESPERA")
        For nRow := 4 TO nRows 
            if (oHoja:Cells(nRow,1):Value)<> Nil
                numeroa:=substr(oHoja:Cells(nRow,8):Value,6)
                consigna:= oHoja:Cells(nRow,2):Value
                domicilio:= oHoja:Cells(nRow,3):Value
                cp:= substr(oHoja:Cells(nRow,4):Value,1,5)
                pobla:= substr(oHoja:Cells(nRow,4):Value,9)
                peso:= 1
                if valtype(oHoja:Cells(nRow,6):Value) = 'C'
                    bultos:=val(oHoja:Cells(nRow,6):Value)
                else
                    bultos:= oHoja:Cells(nRow,6):Value
                endif
                reembo:= "0,00"
                reembo:= strtran(reembo,",",".")
                tipo:= "1"
                expedi := nempresa+numeroa
                fwrite(nManejador,expedi+;              
                space(9)+;              
                padr(alltrim(consigna),32)+;        
                padr(alltrim(domicilio),32)+;      
                padr(alltrim(cp),5)+;       
                padr(alltrim(pobla),27)+;   
                strzero(bultos,4)+;
                strzero(peso,5)+;       
                "000.00"+;
                "1"+;
                strzero(val(reembo),7,2)+;
                space(1)+;
                space(35)+;
                padr(alltrim(numeroa),12," ")+;     
                chr(13)+chr(10) )
            endif
        Next nRow
        fclose(nManejador)
        msgwait("IMPORTACION REALIZADA","ATENCION",2)
    else
        msgalert("ERROR EN LA IMPORTACION","ATENCION")
        endif
        oExcel:Quit()
Retu Nil
Cuando importo ficheros slk me da el siguiente error:
Image

Si pincho en No, todo funciona correctamente y continua la ejecución.
Si pincho en Si, sigue reportandome infinidad de errores hasta que ya no hay mas y continua perfectamente.

La aplicación es un poco antigua y creo que esta compilada con xharbour y fw en una versión sobre 2015 o así, ya que no he podido actualizar a ninguna versión mas actual porque sería muy engorroso.

Habría alguna opción de que no apareciera éste error?

Saludos

Re: Mensaje Error importando SLK

Posted: Sat Jul 25, 2020 10:25 am
by JoseLuis
Buenas de nuevo

Ya esta solucionado

No localizo donde puede estar el error pero eliminado el mensaje, como dije anteriormente todo va perfectamente.

oExcel:DisplayAlerts:=.F.

Saludos