FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour CLASE OLE PARA 16 Y 32 BITS
Posts: 364
Joined: Tue Oct 25, 2005 07:06 PM
CLASE OLE PARA 16 Y 32 BITS
Posted: Thu Jul 13, 2006 03:07 PM

SALUDOS POR FAVOR SI ALGUIEN TIENE LA CLASE OLE, TOLEAUTO ACTUALIZADA Y ME LA PODRIA MANDAR SE LO AGRADECERIA MUCHO, GRACIAS, TENGO ES UNA VERSION DEL 2001 QUE ME DA ERROR AL TRATAR DE PASAR DE EXCEL A DBF

GRACIAS COMPAÑEROS

Software especializado para oficinas contables con grandes volumenes de Informacion
Impresion de todos los formularios del Seniat, Dian

alex_patino74@hotmail.com
whatsapp 57+3214777217
Posts: 711
Joined: Thu Oct 06, 2005 09:57 PM
CLASE OLE PARA 16 Y 32 BITS
Posted: Thu Jul 13, 2006 03:18 PM

One question / una cuestión:

¿ Clipper / Habour .or. xHarbour ?

Un saludo



Manuel
Posts: 364
Joined: Tue Oct 25, 2005 07:06 PM
que sirva
Posted: Thu Jul 13, 2006 05:30 PM

saludos preferiblemente de harbour pero me conformo con alguna que sirva ya que no leen desde excel, da error de property no se que cosa en GETproperty workbooks o algo asi, me tiene verde, tengo mas de 2 meses en este detalle, gracias

Software especializado para oficinas contables con grandes volumenes de Informacion
Impresion de todos los formularios del Seniat, Dian

alex_patino74@hotmail.com
whatsapp 57+3214777217
Posts: 1445
Joined: Mon Oct 10, 2005 02:38 PM
Re: que sirva
Posted: Fri Jul 14, 2006 10:52 AM
QAZWSX2K wrote:saludos preferiblemente de harbour pero me conformo con alguna que sirva ya que no leen desde excel, da error de property no se que cosa en GETproperty workbooks o algo asi, me tiene verde, tengo mas de 2 meses en este detalle, gracias


En Harbour y sin librerías adicionales, yo lo hago así (ahora me doy cuenta de que no estoy eliminando al final oExcel ni oHoja):

==========================
oExcel := CreateOLEObject("Excel.Application")
OLESetProperty(oExcel,"Visible", .T.)
OLEInvoke( OLEGetProperty(oExcel,"Workbooks"), "Open", cPathxls )
oHoja := OLEGetProperty(oExcel,"ActiveSheet")

ccognoms := "zzz"
nRow := 1

While AllTrim( ccognoms ) <> ""

nRow ++

Msgnowait( AMPAarra, "Atención!" , "Leyendo e importando datos." + ;
" Espere unos momentos por favor...." )

cCCC := OleGetProperty( OleGetProperty( oHoja, "Cells", nRow, 2 ), "Value" )
If Valtype( cCCC) = "U"
cCCC := "00000000000000000000"
EndIf
cccc := Upper( cccc )
Traza(1, "cccc=", cccc )

cmail := OleGetProperty( OleGetProperty( oHoja, "Cells", nRow, 3 ), "Value" )
If Valtype( cmail) = "U"
cmail := Space(1)
EndIf
cmail := Upper( cmail )
Traza(1, "cmail=", cmail )

cdatanaix := OleGetProperty( OleGetProperty( oHoja, "Cells", nRow, 4 ), "Value" )
If Valtype( cdatanaix) = "U"
cdatanaix := CToD("01/01/1900")
elseIf Valtype( cdatanaix) = "C"
cdatanaix := CToD(cdatanaix)
EndIf
Traza(1, "cdatanaix=", cdatanaix)

cCognoms := OleGetProperty( OleGetProperty( oHoja, "Cells", nRow, 7 ), "Value" )
If Valtype( ccognoms) = "U"
ccognoms := space(1)
EndIf
cCognoms := Upper( ccognoms )
Traza(1, "ccognoms=", ccognoms )

cNom := OleGetProperty( OleGetProperty( oHoja, "Cells", nRow, 8 ), "Value" )
If Valtype( cnom) = "U"
cnom := space(1)
EndIf
cNOM := Upper( cNOM )
Traza(1, "cnom=", cNOM )

cLOPD := OleGetProperty( OleGetProperty( oHoja, "Cells", nRow, 10 ), "Value" )
If Valtype( clopd) = "U"
clopd := .F.
Else
clopd := .T.
EndIf
Traza(1, "clopd=", cLOPD )

OLEInvoke( oExcel, "Quit" )
==========================

Es lento pero funciona.

Saludos
Carlos G.

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 298
Joined: Fri Oct 07, 2005 05:20 AM
CLASE OLE PARA 16 Y 32 BITS
Posted: Sun Jul 16, 2006 01:44 AM

Les recomiendo que se den una vuelta por :

http://vikthor.com.mx/fivewin

en la seccion enlaces y busquen la liga a la página de José Giménez

Vikthor
Posts: 364
Joined: Tue Oct 25, 2005 07:06 PM
Re: que sirva
Posted: Mon Jul 17, 2006 01:17 PM
gracias aunque interesante si me dijeras que hace la funcion traza()


FiveWiDi wrote:
QAZWSX2K wrote:saludos preferiblemente de harbour pero me conformo con alguna que sirva ya que no leen desde excel, da error de property no se que cosa en GETproperty workbooks o algo asi, me tiene verde, tengo mas de 2 meses en este detalle, gracias


En Harbour y sin librerías adicionales, yo lo hago así (ahora me doy cuenta de que no estoy eliminando al final oExcel ni oHoja):

==========================
oExcel := CreateOLEObject("Excel.Application")
OLESetProperty(oExcel,"Visible", .T.)
OLEInvoke( OLEGetProperty(oExcel,"Workbooks"), "Open", cPathxls )
oHoja := OLEGetProperty(oExcel,"ActiveSheet")

ccognoms := "zzz"
nRow := 1

While AllTrim( ccognoms ) <> ""

nRow ++

Msgnowait( AMPAarra, "Atención!" , "Leyendo e importando datos." + ;
" Espere unos momentos por favor...." )

cCCC := OleGetProperty( OleGetProperty( oHoja, "Cells", nRow, 2 ), "Value" )
If Valtype( cCCC) = "U"
cCCC := "00000000000000000000"
EndIf
cccc := Upper( cccc )
Traza(1, "cccc=", cccc )

cmail := OleGetProperty( OleGetProperty( oHoja, "Cells", nRow, 3 ), "Value" )
If Valtype( cmail) = "U"
cmail := Space(1)
EndIf
cmail := Upper( cmail )
Traza(1, "cmail=", cmail )

cdatanaix := OleGetProperty( OleGetProperty( oHoja, "Cells", nRow, 4 ), "Value" )
If Valtype( cdatanaix) = "U"
cdatanaix := CToD("01/01/1900")
elseIf Valtype( cdatanaix) = "C"
cdatanaix := CToD(cdatanaix)
EndIf
Traza(1, "cdatanaix=", cdatanaix)

cCognoms := OleGetProperty( OleGetProperty( oHoja, "Cells", nRow, 7 ), "Value" )
If Valtype( ccognoms) = "U"
ccognoms := space(1)
EndIf
cCognoms := Upper( ccognoms )
Traza(1, "ccognoms=", ccognoms )

cNom := OleGetProperty( OleGetProperty( oHoja, "Cells", nRow, 8 ), "Value" )
If Valtype( cnom) = "U"
cnom := space(1)
EndIf
cNOM := Upper( cNOM )
Traza(1, "cnom=", cNOM )

cLOPD := OleGetProperty( OleGetProperty( oHoja, "Cells", nRow, 10 ), "Value" )
If Valtype( clopd) = "U"
clopd := .F.
Else
clopd := .T.
EndIf
Traza(1, "clopd=", cLOPD )

OLEInvoke( oExcel, "Quit" )
==========================

Es lento pero funciona.

Saludos
Carlos G.
Software especializado para oficinas contables con grandes volumenes de Informacion
Impresion de todos los formularios del Seniat, Dian

alex_patino74@hotmail.com
whatsapp 57+3214777217

Continue the discussion