FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour TFileXls - Consulta Solucionado !!!
Posts: 196
Joined: Fri May 15, 2009 01:25 AM
TFileXls - Consulta Solucionado !!!
Posted: Sat Dec 17, 2016 03:47 PM
Amigos del foro :
Si alguien me puediera ayudar

Estoy teniendo este error :

Application
===========
Path and name: P:\Fuentes\xHarbour\NomEle17\BIN\NomEle.Exe (32 bits)
Size: 3,788,288 bytes
Compiler version: xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 9386)
FiveWin Version: FWHX 13.01
Windows version: 6.2, Build 9200

Time from start: 0 hours 0 mins 27 secs
Error occurred at: 17/12/2016, 09:35:27
Error description: Error Excel.Application:WORKBOOKS/14 DISP_E_BADPARAMCOUNT: OPEN
Args:
[ 1] = C C:\nomina\nomina2.xlsm

Stack Calls
===========
Called from: => TOLEAUTO:OPEN( 0 )
Called from: Source\impnom.prg => IMPORTANOMINAEXCEL( 20 )
Called from: Source\main.prg => (b)F_MENU( 292 )
Called from: .\source\classes\MENU.PRG => TMENU:COMMAND( 461 )
Called from: Source\FWH\window.prg => TWINDOW:COMMAND( 1047 )
Called from: => TWINDOW:HANDLEEVENT( 0 )
Called from: Source\FWH\window.prg => _FWH( 3192 )
Called from: => WINRUN( 0 )
Called from: Source\FWH\window.prg => TWINDOW:ACTIVATE( 1000 )
Called from: Source\main.prg => MAIN( 259 )

Este es mi codigo :
Code (fw): Select all Collapse
# include "fivewin.ch"

//====================
FUNCTION ImportaNominaExcel()
//====================

   Public oExcel, oHoja, nRows, nCols,oMeter,oDlg,nActual:= 0
   Public aCampos:={}, nRow, nCol,nContar:= 0

   oExcel := TOleAuto():New( "Excel.Application" )
   cFile := cGetFile("*.XLSM", "Seleccione Fichero")
   oExcel:WorkBooks:Open( cFile )
   oHoja := oExcel:Get( "ActiveSheet" )

   nRows := oHoja:UsedRange:Rows:Count()
   nCols := oHoja:UsedRange:Columns:Count()

   IF !net_use( "nomtmp",.t.,,oApp:xDatos )
      DBCLOSEALL(); RETURN NIL
   ENDIF

   nomtmp->(dbzap())

   DEFINE DIALOG oDlg RESOURCE "IMPORTA_NOMINA"
      oDlg:lHelpIcon := .f.

   REDEFINE METER oMeter Var nContar TOTAL nRows ID 101 OF oDlg UPDATE

   REDEFINE BUTTON ID 400 of oDlg ACTION( INICIA( nRows,nCols,nContar ),oDlg:End() )
   REDEFINE BUTTON ID 401 of oDlg ACTION( oDlg:End())
   REDEFINE BUTTON ID 402 of oDlg ACTION( helpTopic( "importar-nomina.html" ))

   ACTIVATE DIALOG oDlg CENTERED
USE

RETURN NIL

//========================================
STATIC FUNCTION INICIA( nRows,nCols,nContar )
//========================================

   nRows := nRows - 2

   FOR nRow := 2 TO nRows
      nContar = nContar + 1
      oMeter:Set( nContar, sysrefresh())
      APPEND BLANK
      FOR nCol := 1 TO nCols
         xValor := oHoja:Cells(nRow,nCol):Value
         /*if Valtype( oHoja:Cells( nRow,nCol ):Value ) = "N"
            xValor := STR(xValor)
         endif*/
         IF nCol = 1
            xValor := STRZERO(xValor,4)
         ENDIF
         FieldPut(nCol,xValor)
      NEXT
      //DBCOMMIT()
      Memory(-1)
   NEXT

   MsgInfo( "Se ha creado el fichero NOMTMP.DBF" )

   DBCLOSEALL()

   oExcel:Quit()
   oExcel := nil

RETURN NIL
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
Posts: 476
Joined: Sat Feb 03, 2007 06:36 AM
Re: TFileXls - Consulta
Posted: Sat Dec 17, 2016 09:47 PM
Juan, puedes probar de esta forma, y ver si te funciona.

Code (fw): Select all Collapse
//====================
FUNCTION ImportaNominaExcel()
//====================

   Public oExcel, oHoja, nRows, nCols,oMeter,oDlg,nActual:= 0
   Public aCampos:={}, nRow, nCol,nContar:= 0

   Local oBook  //Objeto del Libro de Excel

   //oExcel := TOleAuto():New( "Excel.Application" )
   oExcel := GetActiveObject( "Excel.Application" )

   cFile := cGetFile("*.XLSM", "Seleccione Fichero")
   If !File( cFile )
      MsgAlert( cFile +CRLF+"No Encontrado...!!","Error..." )
      Return NIL
   End

   //oExcel:WorkBooks:Open( cFile )
   oBook := oExcel:WorkBooks:Open( cFile )
   oHoja := oExcel:Get( "ActiveSheet" )
   .....


Espero te sirva.

Carlos.
Posts: 196
Joined: Fri May 15, 2009 01:25 AM
Re: TFileXls - Consulta
Posted: Sun Dec 18, 2016 12:07 AM
Carlos
Gracias por contestar

Ya modifique el codigo y quedo asi

Code (fw): Select all Collapse
# include "fivewin.ch"

//====================
FUNCTION ImportaNominaExcel()
//====================
   LOCAL oBook      // Objeto del libro de excel
   Public oExcel, oHoja, nRows, nCols,oMeter,oDlg,nActual:= 0
   Public aCampos:={}, nRow, nCol,nContar:= 0

   //oExcel := TOleAuto():New( "Excel.Application" )
   oExcel := GetActiveObject("Excel.Application")

   cFile := cGetFile("*.XLSM", "Seleccione Fichero")
   IF !File( cFile )
      MsgAlert( cFile + CRLF + "No Encontrado..!!", "Error..." )
      RETURN nil
   ENDIF

   /*IF Empty(cFile)
      RETURN nil
   ENDIF*/

   //oExcel:WorkBooks:Open( cFile )
   oBook := oExcel:WorkBooks:Open( cFile )
   oHoja := oExcel:Get( "ActiveSheet" )


Y ahora tengo el siguiente mensaje de error

Time from start: 0 hours 0 mins 17 secs
Error occurred at: 17/12/2016, 18:01:21
Error description: Error Excel.Application/1 Unknown error: WORKBOOKS
Args:
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: TFileXls - Consulta
Posted: Sun Dec 18, 2016 12:37 AM
juan_arroyo_t wrote:Carlos
Gracias por contestar

Ya modifique el codigo y quedo asi

Code (fw): Select all Collapse
# include "fivewin.ch"

//====================
FUNCTION ImportaNominaExcel()
//====================
   LOCAL oBook      // Objeto del libro de excel
   Public oExcel, oHoja, nRows, nCols,oMeter,oDlg,nActual:= 0
   Public aCampos:={}, nRow, nCol,nContar:= 0

   //oExcel := TOleAuto():New( "Excel.Application" )
   oExcel := GetActiveObject("Excel.Application")

   cFile := cGetFile("*.XLSM", "Seleccione Fichero")
   IF !File( cFile )
      MsgAlert( cFile + CRLF + "No Encontrado..!!", "Error..." )
      RETURN nil
   ENDIF

   /*IF Empty(cFile)
      RETURN nil
   ENDIF*/

   //oExcel:WorkBooks:Open( cFile )
   oBook := oExcel:WorkBooks:Open( cFile )
   oHoja := oExcel:Get( "ActiveSheet" )


Y ahora tengo el siguiente mensaje de error

Time from start: 0 hours 0 mins 17 secs
Error occurred at: 17/12/2016, 18:01:21
Error description: Error Excel.Application/1 Unknown error: WORKBOOKS
Args:



Yo lo uso asi...saludos... :-)

Code (fw): Select all Collapse
   oExcel := TOleAuto():New( "Excel.Application" ) // ACTIVANDO EXCEL
   oExcel:Workbooks:Open( cFileXls ) // ABRO EL ARCHIVO SELECCIONADO

   oBook := oExcel:Get( "ActiveSheet" ) // ACTIVO HOJA EXCEL
Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 196
Joined: Fri May 15, 2009 01:25 AM
Re: TFileXls - Consulta
Posted: Sun Dec 18, 2016 04:50 AM

Muchas gracias Carlos y Jose Luis

Lo que pasa que estoy utilizando windows 10.
Probé la aplicacion en XP y Win 7 y funciona perfectamente con el codigo del primer post que es el mismo que me sugiere Jose Luis

Alguien podria comentarme algo con respecto a windows 10 ?

Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: TFileXls - Consulta
Posted: Sun Dec 18, 2016 05:16 PM
Juan

Con Windows 10 lo uso así, sin problemas.

Code (fw): Select all Collapse
//  oExcel = CREATEOBJECT( "Excel.Application" )        // Así también funciona
    oExcel := TOleAuto():New( "Excel.Application" )
    oExcel:WorkBooks:Open(ALLTRIM(oDdf:FIL))
    oHoja := oExcel:Get( "ActiveSheet" )


Ojalá te sirva.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 196
Joined: Fri May 15, 2009 01:25 AM
Re: TFileXls - Consulta
Posted: Tue Dec 20, 2016 08:58 PM
Armando :

Gracias por contestar

// oExcel = CREATEOBJECT( "Excel.Application" ) // Así también funciona
oExcel := TOleAuto():New( "Excel.Application" )
oExcel:WorkBooks:Open(ALLTRIM(oDdf:FIL))
oHoja := oExcel:Get( "ActiveSheet" )


Fijate que me marca este error

Path and name: P:\Fuentes\xHarbour\NomEle\BIN\NomEle.Exe (32 bits)
Size: 3,799,040 bytes
Compiler version: xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 9386)
FiveWin Version: FWHX 13.01
Windows version: 6.2, Build 9200

Time from start: 0 hours 0 mins 38 secs
Error occurred at: 20/12/2016, 14:42:25
Error description: Error Excel.Application:WORKBOOKS/14 DISP_E_BADPARAMCOUNT: OPEN
Args:
[ 1] = C C:\nomina\Nomina.xlsm
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: TFileXls - Consulta
Posted: Tue Dec 20, 2016 09:03 PM

Qué version de Office estás utilizando ( en Win8 o 10, donde te da el problema ) ?

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 196
Joined: Fri May 15, 2009 01:25 AM
Re: TFileXls - Consulta
Posted: Wed Dec 21, 2016 03:22 AM
Cristobal

Qué version de Office estás utilizando ( en Win8 o 10, donde te da el problema ) ?


Estoy utilizando windows 10 64bits, office 2007

El codigo del primer post funciona perfectamente en windows xp y en win 7 64b

Gracias
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
Posts: 196
Joined: Fri May 15, 2009 01:25 AM
Re: TFileXls - Consulta
Posted: Sat Nov 25, 2017 08:36 PM
Amigos del foro

Error occurred at: 17/12/2016, 09:35:27
Error description: Error Excel.Application:WORKBOOKS/14 DISP_E_BADPARAMCOUNT: OPEN
Args:
[ 1] = C C:\nomina\nomina2.xlsm


Por fin pude resolver el problema

Por si a alguien le llega a ocurrir

Desinstale el foxit reader, lo volvi a instalar desactivando todos los plugins de excel eso fue todo

Esta es el link de la imagenhttps://1drv.ms/i/s!AgM94kAKnz9CjjYAnaz3WcWmippj

Saludos
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com

Continue the discussion