Visual Basic - Archivo de Excel

Life is soft - evento anual de software empresarial
 
Vista:

Archivo de Excel

Publicado por mary (58 intervenciones) el 07/06/2007 16:55:13
Qusiera saber como puedo hacer para cargar un archivo de excel, me dijeron que podia hacerlo asi

Dim appExcel As Excel.Application
Dim wbLibro As Workbook

Set appExcel = New Excel.Application

Set wbLibro = appExcel.Workbooks.Open(strRuta)

Asi lees de la hoja 1 de excel las celdas de las coordenadas que quieras

SR = wbLibro.Worksheets(1).Range(iPa1).Value
COL = wbLibro.Worksheets(1).Range(iPa3).Value
CAT = wbLibro.Worksheets(1).Range(iPa5).Value
CUST = wbLibro.Worksheets(1).Range(iPa7).Value

wbLibro.Close

Pero no se si hay que colocar algun control porque al colocar solo esto me dice que no se ha definido el tipo definido por el usuario. Si alguien puede ayudarme se lo agradeceria.
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:Archivo de Excel

Publicado por Ayudante (62 intervenciones) el 07/06/2007 17:05:13
Debes agregar la referencia a Excel:
En el menú Proyecto-Referencias agregas de la lista
"Microsoft Excel 10.0 object library" o la versión que tengas.
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:Archivo de Excel

Publicado por mary (58 intervenciones) el 07/06/2007 17:22:32
Gracias, otra pregunta, si voy a usar crystal report tambien debo agregarlo ahi en referencias?
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

Para Crystal Reports

Publicado por Ayudante (62 intervenciones) el 07/06/2007 18:44:52
Depende de la versión que uses, si es la 4.6, que viene con el Visual Studio 6,
en "Componentes" se agrega.
Si es una superior, tanto en Referencias como en Componentes.
Mejor revisa este link, para mayor información:
http://www.elguille.info/vb/crystal/crystalDanielMaya.htm
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:Archivo de Excel

Publicado por mary (58 intervenciones) el 07/06/2007 19:44:32
ok, ya lo busque, ahora volviendo a lo de Excel. Probe como me dijiste pero me da error 1004, error definido por la aplicacion o el objeto,
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:Archivo de Excel

Publicado por Ayudante (62 intervenciones) el 07/06/2007 20:06:30
Ese error ocurre, por ejemplo, si tratas de leer una celda y no especificas correctamente de qué celda se trata. Transcribiendo tu ejemplo:

Dim appExcel As Excel.Application
Dim wbLibro As Workbook
Set appExcel = New Excel.Application
Set wbLibro = appExcel.Workbooks.Open(strRuta)

La variable "strRuta" debe contener la ruta y nombre del archivo de excel que tratas de abrir. Supongo que está correcto, porque si no te daría otro número de error.
El problema puede ser aquí, con las variables "iPa1" ... "iPa7", porque las estás usando para leer una celda. Si alguna variable ESTÁ VACÍA ocurre el error que mencionas.
SR = wbLibro.Worksheets(1).Range(iPa1).Value
COL = wbLibro.Worksheets(1).Range(iPa3).Value
CAT = wbLibro.Worksheets(1).Range(iPa5).Value
CUST = wbLibro.Worksheets(1).Range(iPa7).Value

En el ejemplo que escribiste no sabemos qué contiene cada una de esas variables. Para que compruebes que a eso se debe el error, ahora cambia esas líneas y en vez de usar las variables escribe la referencia de una celda directamente, por ejemplo (como es un valor literal y no una variable, se escriben entre comillas):
SR = wbLibro.Worksheets(1).Range("a1").Value
COL = wbLibro.Worksheets(1).Range("b1").Value
CAT = wbLibro.Worksheets(1).Range("c1").Value
CUST = wbLibro.Worksheets(1).Range("d1").Value
Usando tus variables, sería así:
iPa1 = "a1" ' Las celdas que requieres.
iPa3 = "b1"
iPa5 = "c1"
iPa7 = "d1"
SR = wbLibro.Worksheets(1).Range(iPa1).Value
COL = wbLibro.Worksheets(1).Range(iPa3).Value
CAT = wbLibro.Worksheets(1).Range(iPa5).Value
CUST = wbLibro.Worksheets(1).Range(iPa7).Value
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