Rellenar una matriz desde excel

Hola, quería hacer un programa con VBA que trabaja con una matriz de datos que los tengo en excel. Pero no quiero tener abierta la hoja excel ni tener que incluirla una vez acabado el programa. Esto es por razones de seguridad, para los futuros usuarios del programa no tengan acceso a estos datos. O sea que lo que me gustaría es inicializar una matriz y que sus valores perduren.
No sé como hacerlo sin tener que teclear cada dato, lo cual es inviable.
Gracias

1 respuesta

Respuesta
1
Lo que entiendo es que necesitas almacenar ciertos valores en una matriz [tabla en Excel] y éstos sean recuperados cada vez que sea necesario desde VB, esto sin que el usuario vea que se abrió y cerró excel, es decir, en modo oculto.
Si es así, puedo darte la siguiente sugerencia:
Puedes abrir un libro de excel utilizando el siguiente código VB:
'Declarar una variable de tipo excel
Dim xls As New Excel.Application
'Abrir el libro
xls.Workbooks.Open App.Path & "\Matriz excel.xls"
'Si deseas hacerlo visible o o invisible al usuario [True o False]
xls.Visible = False 'no se mostrará el libro de excel
[Enseguida realizas todos los cambios en la hoja de excel, si dudas en este paso dímelo para asesorarte]
'Cierras el libro y guardas los cambios realizados
xls.ActiveWorkbook.Close True 'Si deseas que no se guarden los cambios sólo cambia True por False
Gracias, me gusta la opción. Pero lo que yo quiero es no tener que incluir la hoja excel donde tengo los datos, ya que los usuarios del programa tendrán acceso a ellos. También la podría incluir y ponerle clave a la excel, pero se quitan muy fácil las claves.Si se te ocurre algo...
Muchas gracias
Se me ocurren algunas otras ideas, te las menciono y dime por cuál nos vamos:
1.- Almacenar la matriz en una BD de Access [unque sería el mismo problema planteado con Excel]
2.- Almacenar la matriz en un archivo de texto [*. TXT o *.INI, incluso con una extensión "personal", es decir, una no conocida por el SO, por ejemplo: *.MTZ (como MATRIZ)] para que el usuario no "sospeche" que ese es el archivo que guarda la información importante.
3.- Almacenar el archivo [ya sea *. XLS, *. MDB, *. TXT o *.INI] en algún "lugar oculto" y poco común, por ejemplo la carpeta "C:\Archivos de programa" o "C:\WINDOWS" y establecer una contraseña de apertura.
NOTA: Ten en cuenta tu nivel de seguridad, ya que incluso el Sistema Operativo Windows tiene "huecos" por los cuáles se puede accesar sin permiso, como ejemplo básico te menciono que cualquier usuario podría eliminar archivos de la carpeta "C:\WINDOWS" y por consiguiente, dañar el buen funcionamiento del SO.
MORALEJA: No puedes impedir que los usuarios sepan que existe tal archivo, lo único que puedes hacer es protegerlo lo más posible.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas