Visual Basic - Problemas al exportar a excel 2003

Life is soft - evento anual de software empresarial
 
Vista:

Problemas al exportar a excel 2003

Publicado por Kenos (35 intervenciones) el 21/11/2008 16:38:52
Hola, tengo una aplicación en visual basic que exporta algunos reportes a excel, pero los exporta a excel 2007... lo malo es que no los genera cuando tienen versiones anteriores como 2003... ¿qué puedo hecer para solucionar este tema?... alguna dll faltará para que el 2003 funcione como 2007? sin tener que cambiar le versión del excel?

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas al exportar a excel 2003

Publicado por pacopaz (173 intervenciones) el 22/11/2008 01:14:17
Si no me equivoco haces referencia a Microsoft Excel 12.0 Object Library.
Así, cuando declaras las variables lo haces con tipo Excel.Application, Excel.Workbook, etc.
En realidad no es incorrecto hacerlo de esa manera, sin embargo, esto lo hace dependiente de la versión, en este caso el 12.0 (para 2003 es 11.0, para 2002 es 10.0 and so on).
Para evitar la dependencia, lo que puedes hacer es quitar la referencia y declarar las variables, en lugar de oner Excel.[Algo] (que de hecho ya no te lo permitiría), ponlas tipo variant y al crear el Ole, que este se encargue de asignarles lo que deben tener.
Algo como esto:

Dim xlApp As Variant
Dim xlBook as Variant
Dim xlSheet as Variant

Set xlApp = CreateObject("Excel.Application") 'Crea la instancia
xlApp.Visible = True 'Muestra Excel

Set xlBook = xlApp.Workbooks.Add 'Crea el libro
Set xlSheet = xlBook.ActiveSheet 'Asigna la hoja


Ahora, si en el CreateObject pones "Excel.Application.12" harás que sólo funcione para Excel 2007. Si pones "Excel.Application.11" sólo lo hará para la versión 2003. Es por esto que no incluyo la versión, para que al crearse el objeto lo haga con la versión de Excel instalada.

Ojalá que no te represente mucho trabajo, pero si así es, recláma presupuesto para que todos tengan Excel 2007 y te evites hacer el cambio.

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar