Te anexo la macro con lo siguiente.
1. Cuando ejecutas la macro, te abre el explorador.
2. Una vez abierto el explorador, puedes realizar lo siguiente:
3. Para ver la imagen: Selecciona un archivo, ahora presiona el botón de "Vistas" y selecciona la opción "Vista previa". De esta forma podrás ver las imágenes.
4. Para modificar el nombre de la imagen: Selecciona el archivo. Ahora presiona la tecla "F2" para editar el nombre.
5. Para mover el archivo a otra carpeta. Selecciona el archivo, presiona el botón "Abrir". La macro te preguntará "Quieres mover el archivo", si presionas "No" la macro termina;
Si presionas "Sí"; la macro te presenta el explorador, pero de carpetas. Selecciona la carpeta destino para mover el archivo y presiona "Aceptar"
Listo, el archivo con la imagen se moverá a la carpeta que hayas elegido.
Te dejo la macro para mover imágenes.
Sub abririmagen()
'Por.Dante Amor
imag = Application.GetOpenFilename(FileFilter:= _
"Imágenes (*.gif;*.jpg;*.jpeg;*.bmp; *.png), *.gif;*.jpg;*.jpeg;*.bmp; *.png", _
Title:="Selecciona una imagen", MultiSelect:=False)
If imag <> False Then
arch = LTrim(Mid(imag, 1 + InStrRev(imag, "\")))
If MsgBox("Quieres mover el archivo", vbYesNo) = vbYes Then
ruta = ThisWorkbook.Path
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
With fldr
.Title = "Selecciona la carpeta destino"
.AllowMultiSelect = False
.InitialFileName = ruta
If .Show <> -1 Then Exit Sub
cp = .SelectedItems(1)
End With
On Error GoTo sincopia
FileCopy imag, cp & "\" & arch
Kill imag
MsgBox "El Archivo se cambió de carpeta"
End If
End If
End
sincopia:
MsgBox "El archivo no se pudo mover"
End Sub
Si no quieres que el archivo origen se borre, entonces quita de la macro esta línea:
Kill imag
Entonces solamente se copiará el archivo.
Sigue las Instrucciones para un botón y ejecutar la macro
- Abre tu libro de Excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- En el menú elige Insertar / Módulo
- En el panel del lado derecho copia la macro
- Ahora para crear un botón, puedes hacer lo siguiente:
- Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
- Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
- Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
- Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: abririmagen
- Aceptar.
- Para ejecutarla dale click a la imagen.
Saludos. Dante Amor
No olvides valorar la respuesta.
Fantástica respuesta Dante, funciona a la perfección, pero y si cuando digo que no quiero mover el archivo en lugar de salir de la macro, me muestra la imagen en el mismo formulario, en un objeto Image?, ¿qué debería añadir o modificar?, muchas gracias. - David Martín Surroca
Es difícil poner el código en los comentarios. Intenta esto:cambia esta líneas:MsgBox "El Archivo se cambió de carpeta" End If End If End sincopia: MsgBox "El archivo no se pudo mover" End SubPor estas:MsgBox "El Archivo se cambió de carpeta" Else Image1.Picture = LoadPicture(imag) End If End If Exit Subsincopia: MsgBox "El archivo no se pudo mover"End SubSi no es claro, crea una nueva pregunta y en el desarrollo de la pregunta escribe para Dante Amor - Dante Amor
Hola Dante Amor, no se si lo hice bien, creo que no te enlacé, te dejo aquí el link por si no lo ves, muchas gracias. Como crear una macro, que seleccione una imagen del equipo al clicar en un botón y luego la muestre en el mismo formulario. - David Martín Surroca