FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problema con Excel
Posts: 189
Joined: Fri Oct 14, 2005 12:33 AM
Problema con Excel
Posted: Sun Oct 12, 2008 08:34 PM
Hola a todos,

Solo quiero trabajar desde mi aplicacion con un archivo de excel, el cual, si no existe, lo creo en blanco (sin datos), para luego grabarlo en una carpeta debajo donde estan mis archivos de datos. El codigo es como sigue:

STATIC FUNCTION Excel_( cInvid )
LOCAL lFound
LOCAL MyXlsFil := Mpath+ "XLS\" + ltrim( cInvid ) + ".xls"
LOCAL oExcel, oWorkBook

   IF !FILE( Mpath+"XLS\" )
      lMkDir( Mpath+"XLS" )
   ENDIF

   TRY
      oExcel := GetActiveObject( "Excel.Application" )

   CATCH
      TRY
         oExcel := CreateObject( "Excel.Application" )
      CATCH
         MsgAlert( "Excel no instalado" )
         return NIL
      END

   END

   TRY
      IF (lFound := FILE( MyXlsFil ))
         oWorkBook := oExcel:Workbooks:Open( MyXlsFil, 3 )
         oSheet    := oExcel:ActiveSheet
      ELSE
         oWorkBook := oExcel:Workbooks:Add()
         oSheet    := oExcel:ActiveSheet
         oWorkBook:Saveas( MyXlsFil,-4143 )
      ENDIF

      oExcel:Visible = .T.

   CATCH oError
      MsgStop(oError:Operation+CRLF+oError:Description,"Falla al cargar MS-Excel")
   END

RETURN NIL


Pues aqui va lo raro. En mi notebook tengo Vista y Office 2007. Me funciona de maravillas, pero en otras maquinas no.

Lo proble con otro desktop de la oficina (Vista y Office 2007), accesando por red al servidor de archivos, y NO funciona.

Lo probe ejecutandolo en el mismo servidor de archivos (Windows XP y Office 2003) y NO funciona....

Me estoy volviendo loco.... ¿Que pasa aqui?

Gracias anticipadas,
Julio Llinás
Visita mi Blog en http://mangucybernetico.blogspot.com/
xHarbour 1.1.0 + FWH810 + Borland 5.5.1
Posts: 189
Joined: Fri Oct 14, 2005 12:33 AM
Problema con Excel
Posted: Wed Oct 15, 2008 11:10 PM

Dios Mio !!!

Nadie me dice nada ?

Es que hay algo incorrecto en mi codigo ?

Otra manera de hacer esto ?

Por favor.... alguna alma piadosa !!!! :cry:

Julio Llinás
Visita mi Blog en http://mangucybernetico.blogspot.com/
xHarbour 1.1.0 + FWH810 + Borland 5.5.1
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Problema con Excel
Posted: Thu Oct 16, 2008 12:33 AM

puedes mostrar el error que genera? o que es lo que no funciona?, no abre el archivo, no lo crea, no crea el directorio, seria util manejar esa informacion para ver como podemos ayudar

Posts: 189
Joined: Fri Oct 14, 2005 12:33 AM
Problema con Excel
Posted: Thu Oct 16, 2008 04:27 AM
El error en un MsgInfo que se puede ver en el CATCH, y dice:

"Error al Cargar MS-Excel"
OPEN
DISP_E_BADPARAMCOUNT

No se interpretar eso, pero ocurre al ejecutar la instruccion

oWorkBook := oExcel:Workbooks:Open( MyXlsFil, 3 )


He verificado, y este archivo XLS existe ciertamente

Gracias anticipadas....
Julio Llinás
Visita mi Blog en http://mangucybernetico.blogspot.com/
xHarbour 1.1.0 + FWH810 + Borland 5.5.1
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Problema con Excel
Posted: Thu Oct 16, 2008 08:00 AM

Julio,

Que significa el parámetro 3 ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 189
Joined: Fri Oct 14, 2005 12:33 AM
Problema con Excel
Posted: Thu Oct 16, 2008 06:23 PM

Pues la verdad que no se....

Lo ví de un ejemplo que Publico Rafa (Thefull) aquí en el foro, pero no se qué es...

Lo mismo para el "saveas", que tiene un parametro -4143, que tampoco sé de que se trata.

Ojala y me pueda alguien apoyar, pues dependo de esto para entregar un proyecto.

Abrazos,

Julio Llinás
Visita mi Blog en http://mangucybernetico.blogspot.com/
xHarbour 1.1.0 + FWH810 + Borland 5.5.1
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Problema con Excel
Posted: Thu Oct 16, 2008 08:12 PM

si estás usando excel via ole se me ocurre que no estas usando la misma versión en la portátil que en los otros equipos. Serìa cuestión de verificar
saludos

Posts: 189
Joined: Fri Oct 14, 2005 12:33 AM
Problema con Excel
Posted: Fri Oct 17, 2008 02:28 AM
Vamos a ver, que ya me contesto a mí mismo.

Lo que pasa, en pocas palabras es que el MS-Excel es BRUTO, BRUTO... hay que decirle TODO con mucho detalle:

El archivo que debía abrir lo estaba llamando como "\SSP\72.XLS", pero con este nombre te "escupe a la cara" un error que realmente no se entiende. Hay que decirle que el archivo se llama "E:\SSP\72.XLS", y eso es todo !

Asi, que para otros, la rutina quedo así:

STATIC FUNCTION Excel_( cInvid )
LOCAL lFound
LOCAL cDrive   := LEFT(GetModuleFileName(GetInstance()),2)
LOCAL MyXlsFil := cDrive + Mpath+ "XLS\" + ltrim( cInvid ) + ".xls"  // Carajo hay que decirle TODO el camino
LOCAL oExcel, oWorkBook

   IF !FILE( Mpath+"XLS\" )
      lMkDir( Mpath+"XLS" )
   ENDIF

   TRY
      oExcel := GetActiveObject( "Excel.Application" )

   CATCH
      TRY
         oExcel := CreateObject( "Excel.Application" )
      CATCH
         MsgAlert( "Excel no instalado" )
         return NIL
      END

   END

   TRY
      IF (lFound := FILE( MyXlsFil ))
         oExcel:Workbooks:Open( MyXlsFil )
      ELSE
         oBook := oExcel:Workbooks:Add()
         oBook:Saveas( MyXlsFil )
      ENDIF

      oExcel:Visible = .T.


   CATCH oError
      MsgStop(oError:Operation+CRLF+oError:Description,"Falla al cargar MS-Excel")
   END

RETURN NIL


Y ahora un regalito mas: Como parte de la misma aplicacion, el cliente estaba interesado en tambien almacenar los planos de los articulos que estaba fabricando, en formato de AutoCad, y esa rutina quedo como sigue:

STATIC FUNCTION Dwg_( cInvid )
LOCAL lFound
LOCAL MyDwgFil := Mpath+ "DWG\" + ltrim( cInvid ) + ".dwg"
LOCAL oCad, oSheet

   IF !FILE( Mpath+"DWG\" )
      lMkDir( Mpath+"DWG" )
   ENDIF

   TRY

      oCad := TOleAuto():New( "AutoCAD.Application" )

      IF (lFound := FILE( MyDwgFil ))
         oCaddwg := oCad:Application:Documents:Open( MyDwgFil )
      ELSE
         oCaddwg := oCad:Application:Documents:Add()
         oCaddwg:SaveAs( MyDwgFil )
      ENDIF

      oCad:Visible = .T.

   CATCH oError
      MsgStop(oError:Operation+CRLF+oError:Description,"Falla al cargar AutoCad")

   END

RETURN NIL


Les reporto que AMBAS funcionan perfectamente.

Gracias de corazón a todos los que apoyaron con sus opiniones.

Abrazos,
Julio Llinás
Visita mi Blog en http://mangucybernetico.blogspot.com/
xHarbour 1.1.0 + FWH810 + Borland 5.5.1

Continue the discussion