Hola Zarlu
Te cuento:
Tengo una notebook HP i5 que es con la que tengo el problema.
Pase todo a una notebook HP 610 viejita pero anda de 10, y
procesa todo bien, no salta ningun error.
Estoy sospechando que es el Excel que tiene problemas.
De todas manera te paso el codigo:
*:-------------------------------------------------------------------------------
*-- Creando el objeto Excel
loexcel = createobject("Excel.Application")
with loexcel.application
.visible = .f.
.workbooks.open("&xarchivo") && *-- Abriendo la planilla con datos
ncol = .activesheet.usedrange.columns.count && *-- Determiando la cantidad de columnas en Excel
nfil = .activesheet.usedrange.rows.count && *-- Determiando la cantidad de filas en Excel
for lnj = thisform.txtfila.value to thisform.txtermina.value && nfil *-- Recorro todas las celdas
select sergio
append blank && se iserta el nuevo registro
for lni = 1 to ncol && *!* el recorrido es columnas y luego filas
xcampo = .activesheet.cells(1,lni).value && Nombre del campo destino
xvalor = .activesheet.cells(lnj,lni).value && Rescupera el valor de la celda en excel
* wait window xvalor nowait
micampo='N'+alltrim(str(lni))
xtipocampo = type(micampo) && se obtiene de la tabla el tipo de campo
do case
case xtipocampo = "D" && si el campo es de fecha
if isnull(xvalor) && es fecha en blanco o nulo
replace &micampo with ctod(" / / ") in sergio
else
replace &micampo with ttod(xvalor) in sergio
endif
case xtipocampo = "C"
if isnull(xvalor)
replace &micampo with '' in sergio
else
if vartype(xvalor) = "N" && por si el valor en excel no es TEXT
replace &micampo with padl(xvalor,11,'0') in sergio && alltrim(upper(str(xvalor))) in sergio
else
replace &micampo with xvalor in sergio
endif
endif
case xtipocampo = "N"
if isnull(xvalor)
replace &micampo with 0 in sergio
else
replace &micampo with xvalor in sergio
endif
endcase
endfor
thisform.grid1.refresh
endfor
.workbooks.close && *-- Cierro la planilla
.quit && *-- Salgo de Excel
ENDWITH
release loexcel
*:-------------------------------------------------------------------------------
En ambas maquinas trabajo con Windows 7. 32 bits
Bueno Zarlu gracias por responder y veamos que puede estar pasando.
Te dejo cordiales saludos
Atte
Esteban Micossi