Cómo cargar una imagen png en VBA

Necesito cargar imágenes png en VBA de Excel. Pero no sé cómo.

Sería para cargar los escudos de los equipos de una liga, por lo que necesito que la fórmula o el macro se repita unas cuantas veces, una por escudo de cada equipo

1 respuesta

Respuesta

I. Hola Juriaco, ¿puedes decirnos por favor qué versión de Excel y qué sistema operativo utilizas?.

Me parece que en este tutorial nosexplican casi al detalle la forma de utilizar imágenes .Png en Excel, a ver si hubiera suerte..

https://excelsignum.com/2016/04/05/insertar-fotografia-en-control-de-imagen/ 

http://www.recursosvisualbasic.com.ar/htm/ocx-componentes-activex-dll/102-modulo-para-leer-png.htm 

https://support.microsoft.com/es-es/kb/324566 

https://www.youtube.com/watch?v=a7pz98_HpP8 

El segundo enlace lo he visto y he probado a importar el modulo a mi proyecto. Pero creo que luego no sé cómo seguir. Ese zip contiene 3 archivos, uno .bas otro con el formulario y otro con el módulo de clase. Importo el módulo de clase pero luego no sé "llama" a la instrucción para que cargue la foto png. 

Además en ese módulo de clase tengo que añadir Private Declare PtrSafe Function porque me dice mi VBA de Excel que ese código no está preparado para 64 bytes. 

Tengo el Excel2016 y uso W10.

También he encontrado un LoadPictureGDI que sustituye al LoadPicture aquí 
https://www.experts-exchange.com/questions/26980514/VBA-LoadPicture-with-PNG-files.html 

Pero cuando ejecuta ese código me dice: "error de compilación. No coinciden los tipos y me marca de ese código esto:

Public Function LoadPictureGDI(ByVal sFilename As String) As IPicture (en amarillo)

y

'Load the image
lResult = GdipCreateBitmapFromFile(StrPtr(sFilename), hGdiImage) 

I. Buenas compañero, lo siento. Por mi parte también he encontrado un módulo diferente opcional a LoadPictureGDI, se llama "VBA mod Paste Picture", quizá con el tengamos resultados positivos.

http://stackoverflow.com/questions/23672244/loadimage-png-in-excel-vba-form-image1-picture-control-black-background 

http://powerspreadsheets.com/excel-vba-copy-paste/ 

https://www.youtube.com/watch?v=r6KjcihBpoY 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas