CREATE Cursor maecod (Codigo C(20),Tipo C(4))oXLS = Getobject(,"Excel.Application")IF Type('oXLS') <> 'O'MESSAGEBOX("Abrir Primero Excel con el archivo a Procesar")RETURN .F.ENDIFfila = 2vlcodigo = "VALOR"DO While !Empty(vlcodigo)vlcodigo = Alltrim(oXLS.Cells(fila,4).Text)IF !Empty(vlcodigo)SELECT maecodAPPEND BlankREPLACE Codigo With vlcodigovlcodigo = Alltrim(oXLS.Cells(fila,12).Text)REPLACE Tipo With upper(vlcodigo)IF RIGHT(TIPO,1)="C"REPLACE TIPO WITH "Q"ELSEREPLACE TIPO WITH "X"ENDIFENDIFfila = fila + 1ENDDOSELECT a.Codigo,nprice from icitem b, maecod a;where a.Codigo = b.citemno;order by a.Codigo;into cursor curPreciosfila = 2vlcodigo = "VALOR"DO While !Empty(vlcodigo)vlcodigo = Alltrim(oXLS.Cells(fila,4).Text)IF !Empty(vlcodigo)SELECT curPreciosLOCATE for Codigo = vlcodigoIF found()vlprecio = Allt(Str(Int(nprice * 100)))IF Allt(oXLS.Cells(fila,6).Text) <> vlpreciooXLS.Cells(fila,17).value = oXLS.Cells(fila,6).TextoXLS.Cells(fila,6).value = vlprecioENDIFENDIFENDIFfila = fila + 1ENDDORelease oXLS
Hacerle un scan con un locate y pasar lo que no que este.
Sin Object ni cargar 2 archivos ni nada de eso, algo directo y sencillo.
MK
-----Mensaje original-----
De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de José Luis
Enviado el: domingo, 02 de enero de 2011 10:05
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Re: Capturar desde VFP la data en una hoja de cálculo de Excel
Esto es lo que hago...
Selecciono la hoja de calculo en formato Excel 95/2003
LOCAL siexp
siexp = MESSAGEBOX(" Por favor verifique formato de hoja de calculo en la
hoja EN FORMATO EXCEL 5.0/95 localizada en su directorio, Desea realmente
exportar datos desde una hoja de calculo en excel?, solo se acepta formato
de excel 5.0/95 ",32+1, "!!!!Atención......!!!")
IF siexp = 1
*Driver ODBC de Excel.
cFileXLS = Getfile("XLS")
IF !FILE(cFileXLS)
=MESSAGEBOX("No se presentó selección de archivo .... ",16,"!!!
Atención....")
RETURN
ENDIF
cConn = "Driver={Microsoft Excel Driver (*.xls)};"+;
"DriverId=790;Dbq="+cFileXLS+;
";DefaultDir="+Justpath(cFileXLS)+";"
nH = SqlStringConnect(cConn)
SQLTables(nH,"", "SheetNames")
cTabla = Trim(SheetNames.Table_Name)
cCursor = Chrtran(cTabla," $","_")
SQLExec(nH,'Select * From ['+cTabla+']',cCursor)
Select (cCursor)
WAIT WINDOW " Archivo Seleccionado Ok..... " at 20, 40 timeout 1
Select (cCursor)
GO TOP
SCAN
Store UPPER(ALLTRIM(IdUniNro)) to m.IdUniNro
Select tabla_de
Set order to tag IdUniNro
If seek(m.IdUniNro)
*Ya existe... y se puede hacer una actualización de datos
Else
* No existe , se puede agregar
Endif
Endscan
Espero te sierva
Jairo
-----Mensaje original-----
De: publice...@googlegroups.com
[mailto:publice...@googlegroups.com] En nombre de José Luis
Enviado el: Domingo, 02 de Enero de 2011 08:47
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Capturar desde VFP la data en una hoja de cálculo de Excel
MK
-----Mensaje original-----
De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de José Luis
Enviado el: lunes, 03 de enero de 2011 17:12
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Re: Capturar desde VFP la data en una hoja de cálculo de Excel
MK
-----Mensaje original-----
De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de José Luis
Enviado el: lunes, 03 de enero de 2011 17:22
Solo anexa tu archivo y mandalo, mientras no sea muy grande...
MK
-----Mensaje original-----
De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de José Luis
Enviado el: lunes, 03 de enero de 2011 17:26
Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________