Referencia a Excel desde VB.NET

07/10/2004 - 12:54 por Asier | Informe spam
Hola:

Tengo una aplicacion que genera una hoja excel por codigo en una clase. El
problema que tengo es que la referencia no es la misma para las distintas
versiones de Excel (para Office 2003 es la 10, para XP la 9, etc), lo que me
gustaria conseguir es que la aplicacion sea lo mas flexible posible y no
tenga que hacer varias versiones de la aplicacion para las distintas
referencias.

Gracias.

Preguntas similare

Leer las respuestas

#1 Carlos Durán Urenda
02/12/2004 - 23:01 | Informe spam
Hola Asier

Probablemente sea tarde, pero hoy me tope presisamente con el mismo
problema, puedes controlar Excel, Word, Outlook etc desde VB.Net agregando
la referencia COM correspondiente, sin embargo al instalar en otro equipo
seguaramente aparecerá un error de version.

Alguien me dio este tip

Puedes hacer tu programación incluyendo la referencia a Excel, o bien
puedes crear la referencia dinamicamente con la funcion CreateObject, el
problema es que no te desplegará los miembros de los objetos al estar
programando. la forma de hacerlo seria la siguiente

Dim xls As Object
xls = CreateObject("Excel.Application")
MsgBox(xls.version)
xls.visible = True
... etc
Object= Nothing

de forma que puedes crear dinamicamente la referencia a la version correcta
de Excel
Solo ten en cuenta que debes desactivar la Option Strict (colocando al
inicio del archivo la instruccion Option Strict Off)

Puedes facilitar la programacion si haces la referencia manualmente al
Objeto COM de Excel, y una vez que programaste tu rutina, con la ayuda de
los miembros desplegables, puedes quitar la referencia al objeto COM y crear
dinamicamente el objeto


Saludos
Carlos Durán



"Asier" escribió en el mensaje
news:%
Hola:

Tengo una aplicacion que genera una hoja excel por codigo en una clase. El
problema que tengo es que la referencia no es la misma para las distintas
versiones de Excel (para Office 2003 es la 10, para XP la 9, etc), lo que
me
gustaria conseguir es que la aplicacion sea lo mas flexible posible y no
tenga que hacer varias versiones de la aplicacion para las distintas
referencias.

Gracias.



Respuesta Responder a este mensaje
#2 Cesarion \(Maktup\)
05/12/2004 - 02:31 | Informe spam
Automatizando Office con Visual Basic .NET
http://www.willydev.net/descargas/C...Office.exe

Controlar eventos para Excel mediante Visual Basic .NET Fechado: 7/23/2004
Hay dos formas de crear un controlador de eventos con Visual Basic .NET,
dependiendo de cómo ...

http://www.willydev.net/descargas/EventosExcel.pdf

"Carlos Durán Urenda" wrote in message
news:Oo%
Hola Asier

Probablemente sea tarde, pero hoy me tope presisamente con el mismo
problema, puedes controlar Excel, Word, Outlook etc desde VB.Net agregando
la referencia COM correspondiente, sin embargo al instalar en otro equipo
seguaramente aparecerá un error de version.

Alguien me dio este tip

Puedes hacer tu programación incluyendo la referencia a Excel, o bien
puedes crear la referencia dinamicamente con la funcion CreateObject, el
problema es que no te desplegará los miembros de los objetos al estar
programando. la forma de hacerlo seria la siguiente

Dim xls As Object
xls = CreateObject("Excel.Application")
MsgBox(xls.version)
xls.visible = True
... etc
Object= Nothing

de forma que puedes crear dinamicamente la referencia a la version
correcta de Excel
Solo ten en cuenta que debes desactivar la Option Strict (colocando al
inicio del archivo la instruccion Option Strict Off)

Puedes facilitar la programacion si haces la referencia manualmente al
Objeto COM de Excel, y una vez que programaste tu rutina, con la ayuda de
los miembros desplegables, puedes quitar la referencia al objeto COM y
crear dinamicamente el objeto


Saludos
Carlos Durán



"Asier" escribió en el mensaje
news:%
Hola:

Tengo una aplicacion que genera una hoja excel por codigo en una clase.
El
problema que tengo es que la referencia no es la misma para las distintas
versiones de Excel (para Office 2003 es la 10, para XP la 9, etc), lo que
me
gustaria conseguir es que la aplicacion sea lo mas flexible posible y no
tenga que hacer varias versiones de la aplicacion para las distintas
referencias.

Gracias.







Respuesta Responder a este mensaje
#3 Carlos Durán Urenda
08/12/2004 - 17:12 | Informe spam
Gracias,


Son ejemplos interesantes, pero sigo teniendo algunos problemas en cuanto a
la independencia de version, solo me funciona para la version que tengo
instalada en mi equipo pero cuando deseo correrlo en otro equipo con version
de Excel diferente me marca el error de la version, ademas del problema de
la persistencia del proceso de Excel en memoria

he considerado la posibilidad de almacenar los datos mediante Ado.Net y
habrir el libro por medio del Shell, esto me daria independencia de la
version, pero no podria controlar nada mas, la programacion deberia estar
incluida como macro dentro del libro, lo que no me gusta mucho por la
pregunta que hace al iniciar, alguna otra sugerencia?




"Cesarion (Maktup)" escribió en el mensaje
news:
Automatizando Office con Visual Basic .NET
http://www.willydev.net/descargas/C...Office.exe

Controlar eventos para Excel mediante Visual Basic .NET Fechado:
7/23/2004
Hay dos formas de crear un controlador de eventos con Visual Basic .NET,
dependiendo de cómo ...

http://www.willydev.net/descargas/EventosExcel.pdf

"Carlos Durán Urenda" wrote in message
news:Oo%
Hola Asier

Probablemente sea tarde, pero hoy me tope presisamente con el mismo
problema, puedes controlar Excel, Word, Outlook etc desde VB.Net
agregando la referencia COM correspondiente, sin embargo al instalar en
otro equipo seguaramente aparecerá un error de version.

Alguien me dio este tip

Puedes hacer tu programación incluyendo la referencia a Excel, o bien
puedes crear la referencia dinamicamente con la funcion CreateObject, el
problema es que no te desplegará los miembros de los objetos al estar
programando. la forma de hacerlo seria la siguiente

Dim xls As Object
xls = CreateObject("Excel.Application")
MsgBox(xls.version)
xls.visible = True
... etc
Object= Nothing

de forma que puedes crear dinamicamente la referencia a la version
correcta de Excel
Solo ten en cuenta que debes desactivar la Option Strict (colocando al
inicio del archivo la instruccion Option Strict Off)

Puedes facilitar la programacion si haces la referencia manualmente al
Objeto COM de Excel, y una vez que programaste tu rutina, con la ayuda de
los miembros desplegables, puedes quitar la referencia al objeto COM y
crear dinamicamente el objeto


Saludos
Carlos Durán



"Asier" escribió en el mensaje
news:%
Hola:

Tengo una aplicacion que genera una hoja excel por codigo en una clase.
El
problema que tengo es que la referencia no es la misma para las
distintas
versiones de Excel (para Office 2003 es la 10, para XP la 9, etc), lo
que me
gustaria conseguir es que la aplicacion sea lo mas flexible posible y no
tenga que hacer varias versiones de la aplicacion para las distintas
referencias.

Gracias.











email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida