Cargar imagen al hacer clic a un command button

Estoy intentando hacer una macro en donde este contenida toda la información de un producto en especial.
Pero no se como al hacele clic a un command button me cargue una imagen (no se si se puede hacer). En caso tal que si se pueda me podrían facilitar el código para hacerlo.
¿También se podría hacer con video?

1 respuesta

Respuesta
1
Para la imagen, prueba este código :
Option Explicit
Dim miImagen As Control
Private Sub CommandButton1_Click()
    Set miImagen = Controls.Add("Forms.Image.1")
    miImagen.Picture = LoadPicture("C:\Imagen.jpg")
    miImagen.PictureSizeMode = fmPictureSizeModeStretch
End Sub
Debes tener un archivo en "C:\" llamado "Imagen.jpg" o puedes cambiar la línea miImagen.Picture = LoadPicture("C:\Imagen.jpg") al nombre que desees.
Para ver video es más complicado. Depende de muchas condiciones, como los codecs de video y audio que tenga tu sistema o que reproductor utilices, Windows Media 9 o 10 u 11.
Pero tienes esta alternativa:
Crear un commandButton2 en tu formulario y colócale este código :
Private Sub CommandButton2_Click()
    Dim miReproductor, miClip, miVideo As String
    miReproductor = "C:\Archivos de Programa\Windows Media Player\mplayer2.exe"
    miClip = "C:\video.avi"
    miVideo = miReproductor & " " & miClip
    Shell miVideo, 1
End Sub
Asegurate de ajustar las variables miReproductor y miClip.
En la variable miReproductor tienes que indicar la ruta exacta del reproductor de video que quieras utilizar.
En la variable miClip tienes que indicar la ruta exacta del video que quieras ver. Esta información se coloca en una variable ya que supongo que serán diversos videos los que quieras ver, dependiendo del producto.
Espero te ayuden estas rutinas. Cualquier duda adicional, con gusto la absolveré.
Muchas gracias por atender mi inquietud, ahora mismo estoy ingresando el código pero me manda "error ... archivo no encontrado", seguí los pasos que me indicas, creando una imagen en c:\ con el nombre imagen.jpg .. para probar exactamente como esta el código pero no me funciona... ¿qué puede pasar?
Muchas gracias..
Asegúrate que la imagen exista en "C:\" exactamente con el nombre "Imagen.jpg"
El explorador de Windows debe estar habilitado para ver las extensiones de los archivos, para que puedas asegurarte del nombre exacto.
Posiblemente lo que ves desde el explorador de Windows sea "Imagen.jpg" pero que en realidad se llame "Imagen.jpg.bmp" o algo así.
El código lo he revisado y trabaja bien.
Tambien puedes probar cambiando en la linea
miImagen.Picture = LoadPicture("C:\Imagen.jpg")
El nombre del archivo "C:\Imagen.jpg" por uno que tengas en tu pc. Solo asegúrate que tenga extensión bmp, jpg o gif
Lo que pasaba es que las fotos tenían una extensión diferente, muchas gracias por tu aclaración.
La foto me sale muy pequeña, y le cambio al modo zoom y no mejora, ¿cómo puedo hacer para que salga en tamaño normal?.
Disculpame por la molestia.
Gracias.
No hay problema. Para aumentar el tamaño de la imagen añade estas lineas a tu código en CommandButton1
miImagen. Height = 160
miImagen. Width = 160
Entonces quedaría así :
Private Sub CommandButton1_Click()
    Set miImagen = Controls.Add("Forms.Image.1")
    miImagen.Picture = LoadPicture("C:\Imagen.jpg")
    miImagen.PictureSizeMode = fmPictureSizeModeStretch
    miImagen.Height = 160
    miImagen.Width = 160
End Sub
Si no estas conforme con el tamaño, experimenta con los valores Height y Width.
Cualquier consulta adicional, con gusto la atenderé.
Muchas gracias me funciona perfecto, creo que ya podre concluir mi macro.
te pregunto es posible .. ¿para hacerle mejoras a mi macro que al presionar el command button me remita a un visualizador de imágenes? En vez de cargarla dentro del userform como se hace actualmente.
Mil gracias por tu interés en ayudarme a solucionar mi problema en verdad te lo agradezco.
Prueba este código
Option Explicit
Private Sub CommandButton1_Click()
    Dim miVisualizador, miImagen, Visualizar As String
    miVisualizador = "rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_Fullscreen"
    miImagen = "C:\Imagen.jpg"
    Visualizar = miVisualizador & " " & miImagen
    Shell Visualizar, 1
End Sub
Y me avisas...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas