Macro abre explorador archivos inserta foto



En un post anterior se mostró una macro que insertar imágenes en Excel, en esta macro se hacía un bucle recorriendo todas las filas donde esta la URL de la foto o imagen y la insertaba en Excel; aquí te explico una variante un poco más sofisticada, también inserta una foto en Excel, pero para ello la macro abre el explorador de archivos de Windows, permitiendo que el usuario seleccione la imagen y luego la inserta, en Macro que abre el explorador de Windows, se explica más sobre como manipular dicho explorador; en listar archivos y subcarpetas se presenta una macro que también abre un explorador sencillo para seleccionar la carpeta donde se encuentran las subcarptetas y archivos a listar.

En este ejemplo lo que se hecha mano al explorador de archivos de Windows, para que el usuario seleccione la foto que desea, una vez seleccionada la foto, esta se inserta en la hoja de Excel, previo le cambia las propiedades de alto, ancho, disposición de la imagen, ello para que se peguen en forma ordenada una debajo de la otra y en la fila correspondiente; también agrega el nombre del archivo, para ello se pone en practica lo visto en el post extraer cadenas de texto; también se le da formato a las celdas para adaptarlas al alto de la imagen; es un ejemplo que pone en practica trabajar con el explorador de archivos de Windows, armar cadenas de texto o string y forma de insertar o trabajar con imágenes en Excel.

MASTERCARD PAYONEER

Recomiendo antes de seguir adelante en el mundo de las macros, que leas un excelente libro sobre Excel el que te ayudará manejar las planillas de cálculo, debes hacer click acá, si quieres un libro sobre Excel, en inglés, entonces debes hacer click acá.


Desde el link del final se puede descargar el archivo de ejemplo de esta manera podrás ver su funcionamiento en forma más detallada. El código de VBA o Macro de Excel presentado aquí inserta imágenes en Excel, para ello abre el explorador de archivos de Excel para que el usuario elija el archivo que desee, la macro inserta la imagen seleccionada, dándole formato como así también a las celdas donde se escribe la URL y nombre del archivo elegido en el cuadro de diálogo.


Código a insertar en un módulo



Sub InsertaImagen()
Application.ScreenUpdating = False
On Error Resume Next
Dim uf As Integer
Dim path As Variant
Dim desc As String
uf = Sheets("hoja1").Range("A" & Rows.Count).End(xlUp).Row
path = Application.GetOpenFilename("Archivos JPG PNG BMP  (*.jpg*;*.png*;*.bmp*), *.jpg*;*.png*;*.bmp*")
'Encuentra el nombre del archivo
FullName = Split(path, Application.PathSeparator)
a = FullName(UBound(FullName))
pto = InStr(a, ".")
nomarch = Left(a, pto - 1)

Sheets("hoja1").Cells(uf + 1, 1) = uf
Sheets("hoja1").Cells(uf + 1, 2) = nomarch
Sheets("hoja1").Cells(uf + 1, 3) = path
Sheets("hoja1").Rows(uf + 1).Select
With Selection
.RowHeight = 150
.VerticalAlignment = xlCenter
End With





     


Columns("D:D").ColumnWidth = 37.43

If uf = 1 Then
superior = 23
Else
superior = 150 * (uf - 1) + 23
End If

Sheets("hoja1").Pictures.Insert(path).Select
With Selection
        .Name = uf
        .Top = superior
        .Left = 400
        .Width = 150
        .Height = 150
End With

Application.ScreenUpdating = True
End Sub





Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.



If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends