Leer una tabla excel y cargar registro en tabla

Estoy intentando leer un archivo de excel, tengo Office 2013 instalado en Windows 10 64bit pero me da un error 0x80020006 Desconocido si alguien puede orientarme al respecto agradecido dejo el código por acá si tienen alguna rutina que no presente fallas les sabré agradecer:

*CLEAR
xArchivo = ALLTRIM(thisform.xrutaarchivo )
xTabla="tbstockprod"
IF USED ("&xTabla")
SELECT(("&xTabla"))
USE
ENDIF
USE &xTabla IN 0
&&Creando el objeto Excel
loExce1=CREATEOBJECT("Excel.Application")
loExce1.APPLICATION.visible = .f.
&&Abriendo la planilla con datos

loExce1.workbooks.OPEN("&xArchivo")
&&Determinando la cantidad de columnas en Excel
nCol=loExce1.ActiveSheet.UsedRange.COLUMNS.COUNTER * acá el error

&&Determinando la cantidad de filas en Excel
nFil=loExce1.ActiveSheet.UsedRange.ROWS.COUNT

&&Recorro todas las celdas
FOR lnJ=2 TO nFil
SELECT(("&xTabla")
APPEND BLANK &&se inserta el nuevo registro

&&el Recorrido es columnas y luego tilas
FOR Inl=1 TO nCol
xCampo= loExce1.ActiveSheet.cells (1,inI).VALUE
xTipoCampo= TYPE (xCampo)
xValor = loExce1.ActiveSheet.cells (inJ,inI).VALUE
DO CASE
CASE xTipoCampo="D"
IF ISNULL (xValor)
REPLACE &xCampo WITH CTOD(" / / ")IN &xTabla
ELSE
REPLACE &xCampo WITH TTOD (xValor) IN &Tabla
ENDIF
CASE xTipoCampo= "C"
IF VARTYPE(xValor) = "N"
REPLACE &xCampo WITH ALLTRIM (UPPER(STR(xValor))) IN &XTabla
ELSE
REPLACE &xCampo WITH xValor IN &xTabla
ENDIF
CASE xTipoCampo= "N"
IF ISNULL (xValor)
REPLACE &xCampo WITH 0 IN &xTabla
ELSE
REPLACE &xCampo WITH xValor IN &xTabla
ENDIF
ENDCASE
ENDFOR
ENDFOR
loExce1.Workbooks.CLOSE
loExce1.QUIT

RELEASE loExce1
SELECT ("&xTabla")
BROWSE

Añade tu respuesta

Haz clic para o