Ayuda Conexión Excel: Componente Velneo, ¿Os da problema?


([N1] Rafael) #1

Buenos días,

Necesito exportar una serie de registros a un documento Excel. Para ello utilizo el componente de velneo V2EXCELWIN.

Tengo un formulario con un multivista en el que muestro losregistros de una tabla (lo he probado sin multivista y el resultado es el mismo). Después de mucho probar he intentado resumir todo al máximo para ver si alguien me puede ayudar con el problema. En dicho formulario tengo un botón al que tengo asociado un evento con el siguiente código:

SET(dll:V2EXCEL.INITEXCEL@v2ExcelWin.app($EXCEL_CLAVE@Protocolos_Datos.dat, "xxx" , 2))

Lo que ocurre es que la primera vez que pulso el botón me abre una instancia de excel con su libro y hojas. La segunda vez y posteriori me abre la instancia pero sin hojas ni libros (en blanco). Las propiedades de Libro y Hoja devuelven valores positivos, es decir, las hojas y libros están, pero parece que están invisible o algo así. Sólo si cierro el formulario y vuelvo a abrirlo me permite nuevamente la primera vez que me abra bien la instancia.

¿Tenéis idea de lo que puede ser?, ya he probado de todo y no logro saber qué pasa.

 

Saludos y mil gracias por adelantado

Miguel Delgado

 

 


([N1] Rafael) #2

Por cierto...por si sirve de ayuda...el formulario lo disparo desde un manejador de objeto


([N4] eic) #3

Hola.

El componente V2ExcelWin trabaja abriendo un ejecutable de Excel y comunicándose con él. 

La segunda vez, es decir, cuando te funciona mal, fíjate a ver si tienes abierto ya Excel (mira los procesos del Administrador de tareas del sistema). Si es así, prueba a finalizar ese proceso manualmente y vuelve a intentarlo.

También tienes la posibilidad de cerrar todos los Excel abiertos antes de ejecutar ese proceso. Creo que hay una función CloseAllExcels en el componente (al menos, en el equivalente de 6.x lo había).

Saludos,

Fran Varona

 


([N1] Rafael) #4

Hola Fran,

Antes de nada, gracias por tu ayuda.

Efectivamente, se queda la instancia abierta. Lo que ocurre es que no puedo cerrarla porque el documento lo tengo visible al usuario, así que no sé qué hacer!


([N4] eic) #5

Hola.

Imagino que, antes de dejarlo como visible para el usuario, rellenas algunos datos de la hoja Excel.

Por eso, mi consejo es:

- Utiliza v2ExcelWin para generar el documento, pero en modo no visible. Puedes dejarlo en visible, pero queda más extraño para el usuario final.

- Guardas y cierras el documento, con las funciones de v2ExcelWin apropiadas.

- Una vez que el documento ya está creado, lo abres con un "Ejecutar documento", que te abrirá un proceso de Excel normal.

- Y (en principio) ya te dejará volver a utilizar v2Excel para generar otro archivo.

Saludos,

Fran Varona

 


([N1] Rafael) #6

Mil gracias Fran

 

Salu2

Miguel Delgado


([N1] Rafael) #7

Una cosa Fran, ¿Has probado a guardar el Excel?, lo digo porque a mi nome lo guarda :(

 


([N4] eic) #8

Hola.

Con V7 no lo probé todavía. Con 6.x (realmente, es la misma librería) lo que hacía era llamar a la función EXCEL-LIBRO-GUARDAR y luego a EXCEL-CERRAR.

Saludos,

Fran Varona

 


([N1] Rafael) #9

Hola Fran, a mi no me guarda nada


([N4] mittosoftware) #10

Alguien sabe como quedó este tema solucionado en v7?

Porque ademas está el problema de otros documentos Excel abiertos, antes de disparar la apertura desde la aplicación v7.

Hay alguna forma de trabajar con esto de forma óptima?

Que habría que hacer? CloseAllExcel cerraría tambien las hojas Excel abiertas?

Se puede pensar en una hoja excel temporal? que se sobreescriba siempre, para que el usario luego use ‘Guardar como’ y lo guarde donde guste?

Gracias de antemano por compartir cualquier experiencia.
Saludos.


([N3] blavan) #11

Hola, Ribera
Te contesto por este hilo porque por tu correo que me llega con SPA no me permite responder
Mi experiencia con v6 es muy buena y lo que comentais no ocurre.
El otro día probe con v7 y bién pero no tuve en cuenta eso de tener abiertas otros Libros.
Probaré de nuevo