Inicio > Microsoft Excel > hugolaza > cargar imagen al hacer clic a un command button

cargar imagen al hacer clic a un command button

Experto:
Usuario:
Fecha: 13/10/2009
Valoración: Categoría: Microsoft Excel
12/10/2009
esteban_pati, usuario preguntando en Microsoft Excel
Usuario
hola
estoy intentando hacer una macro en donde este contenida toda la informacion de un producto en especial.
pero nose como al hacele clic a un command button me cargue una imagen (nose si se puede hacer). en caso tal que si se pueda me podrian facilitar el codigo para hacerlo.
Tambien se podria hacer con video??
muchas gracias.
12/10/2009
esteban_pati, experto respondiendo en Microsoft Excel
Experto
Hola,
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 mas 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 informacion 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é.
12/10/2009
esteban_pati, usuario preguntando en Microsoft Excel
Usuario
Muchas gracias por atender mi inquietud, ahora mismo estoy ingresando el codigo pero me manda "error ...archivo no encontrado", segui los pasos que me indicas, creando una imagen en c:\ con el nombre imagen.jpg ..para probar exactamente como esta el codigo pero no me funciona...que puede pasar ???
muchas gracias..
12/10/2009
esteban_pati, experto respondiendo en Microsoft Excel
Experto
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 asi.
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 tegas en tu pc. Solo asegúrate que tenga extension bmp, jpg o gif
13/10/2009
esteban_pati, usuario preguntando en Microsoft Excel
Usuario
Lo que pasaba es que las fotos tenian una extension diferente, muchas gracias por tu aclaracion.
la foto me sale muy pequeña, y le cambio al modo zoom y no mejora, como puedo hacer para que salga en tamaño normal ???.
Disculpame por la molestia.
gracias.
13/10/2009
esteban_pati, experto respondiendo en Microsoft Excel
Experto
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é.
13/10/2009
esteban_pati, usuario preguntando en Microsoft Excel
Usuario
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 imagenes?? en vez de cargarla dentro del userform como se hace actualmente.
mil gracias por tu interes en ayudarme a solucionar mi problema en verdad te lo agradezco.
13/10/2009
esteban_pati, experto respondiendo en Microsoft Excel
Experto
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...
13/10/2009
esteban_pati, usuario preguntando en Microsoft Excel
Usuario
DE VERDAD ME AYUDASTE DEMASIADO, MIL GRACIAS POR TU TIEMPO...MI MACRO FUNCIONA PERFECTO, TUS RECOMENDACIONES ME SIRVIERON MUCHO..
Enlaces patrocinados