Imprimir página | Cerrar ventana

VBA: evento MouseMove para añadir comentarios

Impreso de: Foro de Access y VBA
Categoría: Otros de Microsoft: Windows y Office
Nombre del foro: Excel
Descripción del foro: Foro de Excel y VBA de Excel
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=85501
Fecha de impresión: 29/Marzo/2024 a las 11:55


Tema: VBA: evento MouseMove para añadir comentarios
Publicado por: chucho
Asunto: VBA: evento MouseMove para añadir comentarios
Fecha de publicación: 24/Septiembre/2020 a las 17:43
Buenas tardes

En mis Excel suelo poner imágenes que llaman a Macros y aunque la mayoría de las imágenes son autoexplicativas quería poner una ayuda que se mostrase al pasar el ratón por alguna de ellas.

He visto el ejemplo siguiente

https://excelforo.blogspot.com/2016/09/vba-evento-mousemove-Autoforma.html

Pero yo lo quería simplificar y poner la ayuda en la barra de estado al pasar el ratón por la imagen.

Application.StatusBar = "Mensaje que explique lo que hará la macro"

Y quitar la ayuda cuando el ratón no estuviese sobre la imagen.

Application.StatusBar = "false"

No se si esto es posible en Excel, pero he buscado y mirado en muchos foros y no he visto nada que me ilumine.

Gracias

PD: Se me olvidaba

He probado a asignarle un hipervínculo con información en pantalla que hace lo que quiero, pero lamentablemente se desactiva la llamada a la macro. Borrando el hipervínculo se restaura la invocación a la macro.

He probado también a crear dos imágenes, una con la macro y otra con el hipervínculo, superponiéndolas y echando al fondo la del hipervínculo, pero no funciona. Lo único que se me ocurre es poner una imagen con un  interrogante al lado de la imagen de la macro para que funcione el hipervínculo de ayuda. Esta solución me puede servir, pero si alguien conoce algo más elegante se lo agradecería.



-------------
De DBIII a Clipper luego con access y para mis apaños feliz con Excel.



Respuestas:
Publicado por: AnSanVal
Fecha de publicación: 25/Septiembre/2020 a las 09:39

Depende del tipo de imagen que utilices, podrás disponer del evento MouseMove o no. 

Por ejemplo en un control de imagen ActiveX puedes disponer de él, pero para hacer efectiva la idea que comentas, deberías poner dos imágenes una sobre otra, siendo la de atrás un poco mayor (para que sobresalga), de modo que al pasar el cursor sobre la interior se muestre el mensaje y al abandonar la imagen interior pasaría sobre la imagen exterior que lo borrará. 

Ejemplo:

Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _

      ByVal X As Single, ByVal Y As Single)

  Application.StatusBar = "Mensaje de ejemplo"

End Sub

 

Private Sub Image2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _

      ByVal X As Single, ByVal Y As Single)

  Application.StatusBar = False

End Sub





-------------
Saludos desde Tenerife.


Publicado por: chucho
Fecha de publicación: 25/Septiembre/2020 a las 10:01
Buenos días AnSanVal

Muchas gracias por tu respuesta y el tipo de imagen que incrusto no me permite el control sobre ella.

Voy a optar por la imagen adicional con el hipervínculo que no queda del todo mal, además no hay que grabar VBA, el mensaje sale al lado de la imagen y el hipervínculo además del mensaje informativo realizo un desplazamiento al principio de la hoja si se pulsa la imagen de ayuda. Smile

Saludos,


-------------
De DBIII a Clipper luego con access y para mis apaños feliz con Excel.


Publicado por: AnSanVal
Fecha de publicación: 25/Septiembre/2020 a las 21:51
OK, cierro el hilo.  Wink

-------------
Saludos desde Tenerife.



Imprimir página | Cerrar ventana