Func CreaEnivos(oMeter,oText,oDlg,lEnd)
local oexcell,osheet
local tCampos := {}
Private aPos := {0,0,0,0,0,0,0,0,0,0,0,0}
#ifndef __HARBOUR__
MsgInfo("Aplicacion disponmible solo para 32 bits")
#else
Aadd(tCampos,{"ENIVAID" ,"N" , 8, 0 })
Aadd(tCampos,{"IDEALID" ,"N" , 8, 0 })
Aadd(tCampos,{"NOMBRE" ,"C" , 30, 0 })
Aadd(tCampos,{"PATERNO" ,"C" , 42, 0 })
Aadd(tCampos,{"TIPO" ,"C" , 28, 0 })
Aadd(tCampos,{"ACTIVO" ,"C" , 20, 0 })
Aadd(tCampos,{"STATUS" ,"C" , 8, 0 })
Aadd(tCampos,{"RANGO" ,"C" , 24, 0 })
Aadd(tCampos,{"PRUEBA" ,"C" , 12, 0 })
Aadd(tCampos,{"ENROLLERID","N" , 12, 0 })
Aadd(tCampos,{"SPONSORID" ,"N" , 12, 0 })
Aadd(tCampos,{"FECHA" ,"D" , 10, 0 })
dbcreate("c:\ActEniva\Enivos",tCampos)
use ("c:\ActEniva\Enivos") alias "Enivos"
oexcell:=CREATEOBJECT("excel.application")
oexcell:visible:=.f.
oexcell:workbooks:open("c:\ActEniva\prueba1.xls")
oshet := oexcell:activesheet
nRows := oshet:usedrange:Rows:Count()
nCols := oshet:usedrange:Columns:Count()
oMeter:nTotal := nRows
FOR nPosCol := 1 TO nCols
nposicion(upper(oshet:cells(1,nPosCol):value),nPosCol)
next
FOR x := 2 TO nRows
oMeter:SET(x)
oText:SETTEXT("Act. Enivos -> " + ALLTRIM(STR(X)) + "/" + ALLTRIM(STR(nRows)))
Enivos->(dbappend())
IIF(valtype(oshet:cells(x,aPos[ 1]):value) = "N",Enivos->ENIVAID := oshet:cells(x,aPos[ 1]):value , Enivos->ENIVAID := val(oshet:cells(x,aPos[ 1]):value))
IIF(valtype(oshet:cells(x,aPos[ 2]):value) = "N",Enivos->IDEALID := oshet:cells(x,aPos[ 2]):value , Enivos->IDEALID := val(oshet:cells(x,aPos[ 2]):value)) // "N" , 8
IIF(valtype(oshet:cells(x,aPos[ 3]):value) = "C",Enivos->NOMBRE := upper(oshet:cells(x,aPos[ 3]):value), Enivos->NOMBRE := cValtochr(oshet:cells(x,aPos[ 3]):value)) // "C" , 30
IIF(valtype(oshet:cells(x,aPos[ 4]):value) = "C",Enivos->PATERNO := upper(oshet:cells(x,aPos[ 4]):value), Enivos->PATERNO := cValtochr(oshet:cells(x,aPos[ 4]):value)) // "C" , 42
IIF(valtype(oshet:cells(x,aPos[ 5]):value) = "C",Enivos->TIPO := upper(oshet:cells(x,aPos[ 5]):value), Enivos->TIPO := cValtochr(oshet:cells(x,aPos[ 5]):value)) // "C" , 28
IIF(valtype(oshet:cells(x,aPos[ 6]):value) = "C",Enivos->ACTIVO := upper(oshet:cells(x,aPos[ 6]):value), Enivos->ACTIVO := cValtochr(oshet:cells(x,aPos[ 6]):value)) // "C" , 20
IIF(valtype(oshet:cells(x,aPos[ 7]):value) = "C",Enivos->STATUS := upper(oshet:cells(x,aPos[ 7]):value), Enivos->STATUS := cValtochr(oshet:cells(x,aPos[ 7]):value)) // "C" , 8
IIF(valtype(oshet:cells(x,aPos[ 8]):value) = "C",Enivos->RANGO := upper(oshet:cells(x,aPos[ 8]):value), Enivos->RANGO := cValtochr(oshet:cells(x,aPos[ 8]):value)) // "C" , 24
IIF(valtype(oshet:cells(x,aPos[ 9]):value) = "C",Enivos->PRUEBA := upper(oshet:cells(x,aPos[ 9]):value), Enivos->PRUEBA := cValtochr(oshet:cells(x,aPos[ 9]):value)) // "C" , 12
IIF(valtype(oshet:cells(x,aPos[10]):value) = "N",Enivos->ENROLLERID := oshet:cells(x,aPos[10]):value , Enivos->ENROLLERID := Val(oshet:cells(x,aPos[10]):value)) // "N" , 12
IIF(valtype(oshet:cells(x,aPos[11]):value) = "N",Enivos->SPONSORID := oshet:cells(x,aPos[11]):value , Enivos->SPONSORID := Val(oshet:cells(x,aPos[11]):value)) // "N" , 12
IIF(valtype(oshet:cells(x,aPos[12]):value) = "D",Enivos->FECHA := oshet:cells(x,aPos[12]):value , Enivos->FECHA := Date() ) // "C" , 10
NEXT
oexcell:quit()
Cierrabase("Enivos")
#ENDIF
return nil