Excel y matrices en vb6

Estoy desarrollando una app en vb6, en la cual necesito meter en una matriz los datos que tengo en un archivo de excel; me explico: en el archivo de excel tengo 100 datos numéricos los cuales están cada uno en una celda de la primera columna seria algo así e.j:
A B C ......
10.36
1258.85
1254898.32
.
.
.
La aplicación necesita meter esos datos en una matriz de 10*10, como hago para que la app. ¿Meta los datos?.. Intente crear una base de datos pero no me funciona ... ¿Es ello posible?
!

1 Respuesta

Respuesta
1
No entiendo exactamente lo que quieres hacer, ni como quieres organizar la base de datos.
No es lo mismo una matriz de 10x10 que una base de datos... en una base de datos hay campos y filas, y cada campo tiene un significado, y cada fila es un registro.
En una matriz de 10x10 simplemente tienes datos a los que tu accedes de determinada forma porque conoces su estructura interna.
Si lo que quieres es coger esos 100 números de 10 en 10 y meterlos en una matriz, la cosa es simple. Te recorres la hoja de Excel accediendo a las celdas una por una, de arriba abajo, y cada vez que cojas 10 números cambias de columna (o fila) en la matriz. De esta forma irías rellenando los 10x10.
Desde VB creas el objeto excel, accedes a la hoja y luego mediante un bucle a las diferentes celdas. Tendrás que hacer dos bucles, uno para las filas de la matriz y otro para las columnas. Uno de los dos valores (según como lo quieras meter) avanzara de 1 a 10 por cada valor del otro.
Por ejemplo, si quieres meter los 10 primeros números en la primera fila de la matriz, el bucle ira de 1 a 10 columnas dentro de la fila 1.. luego la fila cambiara a 2, y las columnas volverán a ir de 1 a 10. Mientras que el contador de la hoja de excel seguirá avanzando de 1 a 100, por supuesto.
No se si es a esto a lo que te referías... si no me dices.
Suerte
Hola
Gracias por contestarme...
Bueno lo que me dices es más o menos lo que quiero hacer. Halle un ejemplo para crear el objeto excel pero el problema es que me abre el programa excel cuando lo ejecuto desde vb... ¿Es posible leer solamente el archivo excel desde VB sin que se me abra todo el programa excel?... ¿Para poder transportar en un disquete o algo dicho archivo?...
Gracias de nuevo.. estaremos en contacto:)
No hace falta ejecutar ningún excel desde VB. Lo que tienes que hacer es insertar las librerías excel en el proyecto (mira en el menú de proyecto los componentes).
Una vez tengas eso podrás declarar un objeto con algo parecido a:
Dim objExcel As New ExcelApp.WorkBook
(La sintaxis no es así, pero eso ya sabrás verlo tu mismo supongo, ahora no recuerdo como era, es solo un ejemplo).
Dentro de ese objeto tendrás hojas (WorkSheet), y dentro de este celdas (Cells), de forma que puedes crear el objeto Hoja dentro del de excel, y luego trabajar con las celdas para meter valores.
(Por ejemplo objHoja.Cells("A:A").Value = "pepito" ... aunque la sintaxis no sea asi, para que te hgas una idea)
Por supuesto también hay una función tipo "SaveDocument" o algo así, de forma que se guarda.
Internamente veras en la lista de procesos (Win XP o Win2000) que hay un "excel.exe" abierto. Realmente simplemente se ha generado una instancia del objeto excel, no es que tengas la aplicación abierta.
Pero como dije, el ordenador anfitrión deberá tener el Excel instalado para que el VB lo reconozca, porque creo que hace falta licencia para incluir las librerías en la instalación.
Y por llevarlo en disquete puedes... siempre y cuando el ordenador tenga el excel.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas