0% encontró este documento útil (0 votos)
84 vistas2 páginas

Excel Encriptado con VBA

Este documento describe cómo habilitar la cinta de programación en Excel para usar Visual Basic y agregar botones e implementar funciones en VBA. Incluye una función para encriptar y desencriptar cadenas usando una clave de texto y un desplazamiento. También incluye subrutinas para encriptar, desencriptar y limpiar celdas en Excel usando esta función.

Cargado por

Esther Gutierrez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
84 vistas2 páginas

Excel Encriptado con VBA

Este documento describe cómo habilitar la cinta de programación en Excel para usar Visual Basic y agregar botones e implementar funciones en VBA. Incluye una función para encriptar y desencriptar cadenas usando una clave de texto y un desplazamiento. También incluye subrutinas para encriptar, desencriptar y limpiar celdas en Excel usando esta función.

Cargado por

Esther Gutierrez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

bytData Ing.

Erick Muñoz Alvarez, MBA


Criptografía
TEC

Imagen Final de la Solución Excel

Visual Basic Habilitar la cinta de programación VB

Habilitar en la cinta de opciones la opción de programador.


Con un doble click podes abrir Microsoft Basic para Aplicaciones.
Agregar un botón para poder trabajar con la opción click.

Para guardar el Excel y mantener las macros se seleccionar en tipo: (“Libro de Excel habilitado para macros”).
Asignación de las macros, sino están asignadas da la sensación de no procesamiento.

Referencias Excel

Laboratorios anteriores.

Función en VBA VBA

Function fncEncDes(ByVal strMsg As String) As String


'Este valor de llave puede alterar la encripcion pero debe ser el mismo para ambos 'encriptado y desencriptado.

Const KEY_TEXT As String = "ElEncriptadoFunciona"


'El KEY_OFFSET es opcional y podría ser cualquiera.
'Valor 0-64.
'De la misma forma tiene que ser el mismo ingreso/salida
Const KEY_OFFSET As Long = 38

Dim bytKey() As Byte


Dim bytData() As Byte
Dim lNum As Long
Dim strKey As String

For lNum = 1 To ((Len(strMsg) \ Len(KEY_TEXT)) + 1)


strKey = strKey & KEY_TEXT
Next lNum

bytKey = Left$(strKey, Len(strMsg))


bytData = strMsg

For lNum = LBound(bytData) To UBound(bytData)


If lNum Mod 2 Then
bytData(lNum) = bytData(lNum) Xor (bytKey(lNum) _
+ KEY_OFFSET)
Else
bytData(lNum) = bytData(lNum) Xor (bytKey(lNum) _
- KEY_OFFSET)
End If
Next lNum

fncEncDes = bytData

End Function

Page |1
bytData Ing. Erick Muñoz Alvarez, MBA
Criptografía
TEC

Encriptar Lógica

Sub Encriptar_bytData()

Dim strTest As String

strTest = Cells(2, 3)

'Utilizando la función encripta


strTest = fncEncDes(strTest)
Cells(3, 3) = strTest

End Sub

Desencriptar Lógica

Dim strTest As String

strTest = Cells(3, 3)

'Utilizando la función igualmente desencripta.


strTest = fncEncDes(strTest)
Cells(4, 3) = strTest

Limpiar Lógica

Cells(3, 3) = ""
Cells(4, 3) = ""

Page |2

También podría gustarte