Access - Abrir libro excel desde vba

   
Vista:

Abrir libro excel desde vba

Publicado por pequeno_gigante (10 intervenciones) el 21/03/2010 14:09:22
me version de access es 2003.

le paso el siguiente codigo:

workbooks.open filename:= "c:\...la ruta "

pero no reconoce workbooks...

ademas trato de crear un archivo excel desde cero y me lo hace pero a la hora de pasale los bordes de las celdas pues me dice que lo mismo, que no reconoce las variables xlmedium...etc.

debo activar alguna biblioteca de referencias? pero no se cual

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:Abrir libro excel desde vba

Publicado por Juan M. Afan de Ribera (16 intervenciones) el 30/03/2010 17:26:39
Hola,

para que te reconozca las constantes de excel debes referenciar una libreria de excel (eso depende de lo que se tenga instalado en el ordenador en el que se ejecute). Para que te reconozca objetos como workbooks o cosas así (objetos o métodos de excel) previamente tienes que tener abierta una instancia de una aplicación excel, a través de la cual se accederá a esos objetos, métodos o propiedades. Desde excel se te reconoce todo eso porque precisamente tienes abierta una instancia de la aplicación excel (la aplicación actual), pero desde otro programa distinto, como es Access, debes primero abrir una instancia de excel. Por ejemplo:

Dim objExcel As Excel.Application
Dim libro As Excel.Workbook

Set objExcel = new Excel.Application
Set libro = objExcel.Workbooks.Add
libro.ActiveSheet.Cells(1, 1) = "Hola mundo!"
libro.Close True, "c:\milibroexcel"

Lo malo de declarar las variables como Excel.Application o similar es que necesitas referenciar una librería particular de Excel, con lo cual, si ejecutas ese código en un ordenador donde se utilice otra versión de excel (la versión 2000 o XP, por ejemplo) entonces todo fallará. En cambio si declaras las variables como Object y empleas los métodos CreateObject o GetObject, entonces el sistema decidirá qué versión utilizar en función de lo que ese PC tenga instalado. Por ejemplo:

Dim objExcel As Object
Dim libro As Object

Set objExcel = CreateObject("Excel.Application")
Set libro = objExcel.Workbooks.Add
libro.ActiveSheet.Cells(1, 1) = "Hola mundo!"
libro.Close True, "c:\milibroexcel"

de esta manera, mientras tengas instalado Excel, ese código se ejecutará, sin importar la versión. Eso sí, constantes como xlmedium tampoco te las entenderá, así que debes averiguar el valor de cada una de las constantes utilizando, por ejemplo, el examinador de objetos de visual basic, que te dirá el valor real de cada una de esas constantes, para que las puedas utilizar en tus aplicaciones, tanto si son de excel como si no. Por ejemplo, utilizando el código de antes:

Dim objExcel As Object
Dim libro As Object

Const xlHairline = 1
Const xlMedium = -4138
Const xlThick = 4
Const xlThin = 2

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set libro = objExcel.Workbooks.Add
libro.ActiveSheet.Cells(1, 1) = "Sin bordes"
libro.ActiveSheet.Cells(1, 1).Borders.Weight = xlHairline
libro.ActiveSheet.Cells(2, 1) = "Borde Medium"
libro.ActiveSheet.Cells(2, 1).Borders.Weight = xlMedium
libro.ActiveSheet.Cells(3, 1) = "Borde Grueso"
libro.ActiveSheet.Cells(3, 1).Borders.Weight = xlThick
libro.ActiveSheet.Cells(4, 1) = "Borde Delgado"
libro.ActiveSheet.Cells(4, 1).Borders.Weight = xlThin
libro.Close True, "c:\milibroexcel"

Espero que esta pequeña explicación te sirva.
Juan M. Afan de Ribera
:-)
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

RE:Abrir libro excel desde vba

Publicado por Carlos Silva M. (1 intervención) el 26/01/2013 20:38:30
Juan:

Agradezco la claridad con la que explicas. Se nota que te esmeras en ser breve pero sin perder claridad. Y esto, tanto en la redacción como en el código. ¡Excelente!.
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

RE:Abrir libro excel desde vba

Publicado por hiram (1 intervención) el 22/07/2014 21:35:50
gracias por tu ejemplo. :) 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