• Miércoles 20 de Noviembre de 2024, 16:30

Autor Tema:  leer excel desde vb 6  (Leído 8786 veces)

santos el sinaloa

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
leer excel desde vb 6
« en: Miércoles 23 de Julio de 2008, 02:55 »
0
Hola a todos mi nombre es Santos soy nuevo en este foro y necesoto ayuda, soy estudiante de informatica y en la actualidad estoy tratando de desarrollar un sistema en vb 6, para este trabajo necesito trabajar con bases de datos, mi problema es que toda la informacion que el sistema manejara se encuentra actualmente en archivos de excel y necesito leerlos desde el programa ya lo intente basandome en algunos ejem`plos que en contre en Google utilizando ADO pero no me a resultado.

espero puedan ayudarme. saludos y gracias.

ferhn

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: leer excel desde vb 6
« Respuesta #1 en: Miércoles 23 de Julio de 2008, 15:18 »
0
Proba con este codigo aqui esta explicado todo...
Código: Text
  1.  
  2. Private Sub LeerExcel()
  3.  
  4. Dim xlApp As Excel.Application
  5. Dim xlLibro As Excel.Workbook
  6. Dim xlHoja As Excel.Worksheet
  7. Dim varMatriz As Variant
  8. Dim lngUltimaFila As Long
  9.  
  10. 'abrir programa Excel
  11. Set xlApp = New Excel.Application
  12. 'xl.Visible = True
  13.  
  14. 'abrir el archivo Excel (archivo en otra carpeta)
  15. Set xlLibro = xlApp.Workbooks.Open _
  16. ("c:Fax2.xls", True, True, , "")
  17.  
  18. 'abrir el archivo Excel (archivo en la misma carpeta)
  19. Set xlLibro = xlApp.Workbooks.Open(App.Path & _
  20. "Fax2.xls", True, True, , "")
  21. Set xlHoja = xlApp.Worksheets("Hoja1")
  22.  
  23. '1. Si conoces el rango a leer
  24. 'varMatriz = xlHoja.Range("A1:C10").Value
  25.  
  26. '2. Si no conoces el rango
  27. lngUltimaFila = _
  28. Columns("A:A").Range("A65536").End(xlUp).Row
  29.  
  30. varMatriz = xlHoja.Range(Cells(1, 1), _
  31. Cells(lngUltimaFila, 1))
  32.  
  33. 'utilizamos los datos...
  34. Text1.Text = varMatriz(27, 1)
  35.  
  36. 'cerramos el archivo Excel
  37. xlLibro.Close SaveChanges:=False
  38. xlApp.Quit
  39.  
  40. 'reset variables de los objetos
  41. Set xlHoja = Nothing
  42. Set xlLibro = Nothing
  43. Set xlApp = Nothing
  44.  
  45. End Sub
  46.  
  47.  

Para que esto funcione, Visual Basic necesitará cargar los objetos de Excel. Por eso, no olvides marcar Microsoft Excel x.xx Object Library en tu Visual Basic - Proyecto/Referencias, Espero te ayude en algo....

santos el sinaloa

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: leer excel desde vb 6
« Respuesta #2 en: Jueves 24 de Julio de 2008, 02:21 »
0
Muchas gracias portu ayuda lo intentaré, espero que me funcione luego me pongo en contacto.

¡saludos!

SANTOS EL SINALOA

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: leer excel desde vb 6
« Respuesta #3 en: Jueves 24 de Julio de 2008, 15:13 »
0
Está todo bien, pero te doy unos cuantos consejos (después de unos cuantos meses de experiencia con el Excel y el VB6 en el curro):

1. Si puedes evitar las matrices, mejor que mejor. VB6 es lento, y con matrices más todavía.
2. Puedes leer una celda directamente con xlHoja.Cells(Fila,Columna) en vez de Range que también es muy lenta.
3. Evita en lo que puedas lecturas innecesarias del Excel, es muuuuuuuuy lento.
4. Evita tener varios libros abiertos. En mi caso el proceso EXCEL.EXE puede llegarme a ocupar 120MB de memoria él solito.

Saludos y mucha suerte.

ferhn

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: leer excel desde vb 6
« Respuesta #4 en: Viernes 8 de Agosto de 2008, 18:07 »
0
:o  No habia pensado en ello, soy nuevo en vb pero estare programando en el los proximos 3 meses x la universidad, sera de mucha ayuda contar con uds... y de verdad les agradezco x su dedicacion...  :good: