Base64 desde Excel | Codificar y decodificar

Hola a todos mis seguidores del mundo, hoy veremos un tema muy poco difundido y es la Base64 desde Excel

Base64: Método de codificación aplicado a datos binarios para mostrar información en una cadena de caracteres en código ASCII

Fuente: //solucionfactible.com/sfic/capitulos/timbrado/base64.jsp

Es muy utilizado en plataformas web, pero no sólo lo podemos aplicar desde ahí

Ejemplo de generación Base64

Por ejemplo la frase «Tutoriales Excel» en base64 se representaría como «VHV0b3JpYWxlcyBFeGNlbA==»

Podemos generarlo de manera online en diferentes plataformas como la siguiente base64encode.org

Utilizar hash desde Excel

Código para generar Base64 desde Excel VBA

El código que vamos a utilizar es el siguiente

Lo puedes descargar desde el siguiente enlace Base64.bas

Una vez descargado lo importamos desde nuestro editor en Visual Basic

Importar módulo .bas a excel

Una vez importado lo usaremos de la siguiente forma

Y obtenemos el siguiente resultado

Y de manera similar, para poder decodificar el texto, lo haremos de la siguiente forma

Convertir imagen en local a base64

Vale, convertir una imagen que tenemos en local a base64 también lo podemos hacer con el BAS que te he compartido

Y con un msgbox podemos obtener una

base64 image local vba

Leer imagen en Base64 desde Excel

Bien! En muchas ocasiones vamos a tener la necesidad de leer una imagen «codificada» en base64

Por ejemplo en la página base64-image.de tenemos una imagen en base64

Leer imagenes desde excel

Y deseo obtenerla a mi archivo Excel, lo cual podría ser un poco complicado

¿Por qué puede ser complicado obtener una imagen en Base64 desde Excel?

Porque las imágenes no direccionan a una ruta en específico, sino un texto ilegible. Si usamos el inpeccionador de elementos podemos visualizarlo

imagen Base64 desde excel

El src es igual a data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQoAAAFmCAMAAACiIyTaAAABv1BMVEUAAAB5S0dJSkpISkpLTU3pSzzoTD3oSzzoTD…

Para leer la imagen en Base64 desde excel seguiremos dos sencillos pasos:

Paso #1: Listar las imágenes de la web deseada

Para poder listar todas las imágenes de una página web podemos usar el siguiente código

Todas la imágenes las guardamos en el array misimagenes

En mi caso la imagen que deseo se almacena en misimagenes(1)

Paso #2: Leer la imagen en Base64 desde VBA

Primero analicemos la estructura de las imagenes en base64 de una manera rápida

Las imágenes tienen la siguiente forma:data:image/png;base64,iVBORw0KGgoAAAANSUhEUg…

Después de «image/» podemos visualizar la extensión de la imagen, la cual es png (En este caso)

El texto base64 que debemos decodificar para obtener la imagen se encuentra después de «base64,» el cual es iVBORw0KGgoAAAANSUhEUg…

Este texto lo vamos a obtener con funciones de texto VBA, de la siguiente forma

Siendo la función DecodeImageBase64 la siguiente:

La imagen se guardará en el mismo lugar en donde se encuentra el archivo, después de ejecutar la macro correr()

decode image vba excel

Descargar archivo .BAS con el código trabajado

Como en la mayoría de ejercicios, les comparto el código del desarrollo Base64Imagen.bas (Contraseña tutorialesexcel.com)

Recuerda que puedes descargar todos mis archivos excel desde Repositorio Tutoriales Excel, la contraseña de todos los archivos es tutorialesexcel.com

Cualquier consulta la puedes dejar en los comentarios o enviar un mensaje al correo M4ster@tutorialesexcel.com

En unos meses estaré lanzando mi curso online de Excel VBA básico, debido a que veo mucha necesidad de empezar bien en este mundo

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Una idea sobre “Base64 desde Excel | Codificar y decodificar”