Cómo crear una macro de Word activada por clic derecho más tecla modificadora
🔍 WiseChecker

Cómo crear una macro de Word activada por clic derecho más tecla modificadora

Desea ejecutar una macro de Word al hacer clic derecho mientras mantiene una tecla modificadora como Ctrl, Shift o Alt. Word no admite de forma nativa la asignación de macros a los menús contextuales del clic derecho con teclas modificadoras. Este artículo explica cómo usar el método OnKey con un atajo de teclado personalizado que imita el comportamiento de una combinación de clic derecho más modificador. Aprenderá a asignar una macro a una combinación de teclas como Ctrl+Shift+F10 y luego activarla haciendo clic derecho mientras mantiene las teclas modificadoras.

Puntos clave: Activar una macro de Word con clic derecho más modificador

  • Método OnKey de VBA de Word con una combinación de teclas personalizada: Asigna una macro a una combinación de teclas como Ctrl+Shift+F10 que se presiona mientras se hace clic derecho
  • Pestaña Desarrollador > Visual Basic > Insertar módulo: Donde se escribe el código de la macro que se ejecuta cuando se presiona la combinación de teclas
  • Personalizar cinta de opciones > Pestaña Desarrollador: Debe estar habilitada antes de poder acceder al editor de VBA y a las herramientas de macros

ADVERTISEMENT

El método OnKey y las combinaciones de teclas modificadoras en Word

El modelo de seguridad de macros de Word no permite que las macros intercepten directamente el evento de clic derecho. El evento de clic derecho está reservado para el menú contextual integrado. Sin embargo, puede crear una macro que se ejecute al presionar un atajo de teclado que incluya el botón derecho del mouse como modificador. El método OnKey de VBA de Word permite asignar una macro a cualquier tecla o combinación de teclas, incluidas las que incluyen el botón de clic derecho. El botón de clic derecho se representa como la cadena “+{RButton}” en la sintaxis de OnKey. Al combinar una tecla modificadora como Ctrl o Shift con el botón de clic derecho, se crea un activador que se activa solo cuando se hace clic derecho mientras se mantiene esa tecla modificadora.

Antes de comenzar, asegúrese de que la pestaña Desarrollador esté visible en la cinta de opciones de Word. Vaya a Archivo > Opciones > Personalizar cinta de opciones. En el panel derecho, marque la casilla junto a Desarrollador y haga clic en Aceptar. También necesita tener familiaridad básica con el editor de Visual Basic para Aplicaciones, que se abre haciendo clic en el botón Visual Basic en la pestaña Desarrollador.

Pasos para crear una macro activada por clic derecho más un modificador

  1. Abra el editor de VBA e inserte un módulo
    En la pestaña Desarrollador, haga clic en Visual Basic. En el panel Explorador de proyectos, expanda Normal o el nombre de su documento. Haga clic derecho en cualquier lugar del árbol y elija Insertar > Módulo. Aparece una ventana de código en blanco.
  2. Escriba la macro que se ejecutará con el activador
    En el módulo, escriba un procedimiento Sub. Por ejemplo:
    Sub MyRightClickMacro()
    MsgBox "You right-clicked while holding Ctrl"
    End Sub

    Reemplace la línea MsgBox con las acciones reales de su macro. Cierre el editor de VBA cuando termine.
  3. Asigne la macro a una combinación de clic derecho más tecla modificadora
    En el editor de VBA, abra la Ventana Inmediato presionando Ctrl+G. Escriba la siguiente línea y presione Entrar:
    Application.OnKey "^+{RButton}", "MyRightClickMacro"
    El símbolo de intercalación ^ representa Ctrl. El signo más + representa Shift. La cadena “{RButton}” es el botón derecho del mouse. Esta línea asigna la macro a Ctrl+Shift+Clic derecho. Para usar solo Ctrl y clic derecho, escriba "^{RButton}". Para usar solo Shift y clic derecho, escriba "+{RButton}".
  4. Pruebe el activador
    Cierre el editor de VBA. Mantenga presionadas las teclas Ctrl y Shift juntas. Mientras las mantiene, haga clic derecho en cualquier lugar del documento de Word. La macro se ejecuta inmediatamente. Si no sucede nada, verifique que el comando de la Ventana Inmediato se haya ejecutado sin errores y que el nombre de la macro esté escrito correctamente.
  5. Haga permanente la asignación agregándola al documento o a la plantilla
    La asignación de OnKey desde la Ventana Inmediato solo dura hasta que cierre Word. Para hacerla permanente, agregue la línea OnKey al evento Document_Open del módulo ThisDocument o a la macro AutoExec de la plantilla Normal. Por ejemplo, en el módulo ThisDocument, seleccione Document en la lista desplegable izquierda y Open en la lista desplegable derecha, luego inserte:
    Private Sub Document_Open()
    Application.OnKey "^+{RButton}", "MyRightClickMacro"
    End Sub
  6. Elimine la asignación cuando ya no sea necesaria
    Para desasignar la combinación de teclas, ejecute esta línea en la Ventana Inmediato o en una macro:
    Application.OnKey "^+{RButton}"
    Omitir el argumento del nombre de la macro restaura el comportamiento predeterminado para esa combinación de teclas.

ADVERTISEMENT

Problemas comunes al usar una macro con modificador de clic derecho

La macro no se ejecuta cuando hago clic derecho mientras mantengo las teclas modificadoras

La causa más común es que la asignación de OnKey no se ejecutó. Verifique que haya escrito el comando OnKey en la Ventana Inmediato exactamente como se muestra, incluidas las comillas. También confirme que el nombre de la macro coincida con el nombre del Sub en su módulo. Si está usando una asignación a nivel de documento, asegúrese de que la configuración de seguridad de macros del documento no esté bloqueando las macros. Vaya a Archivo > Opciones > Centro de confianza > Configuración del Centro de confianza > Configuración de macros y seleccione Habilitar todas las macros si está probando. Recuerde deshabilitar esto después de las pruebas por razones de seguridad.

El menú contextual de clic derecho todavía aparece cuando uso la combinación de modificadores

Word muestra el menú contextual después de que se ejecuta la macro. El método OnKey intercepta la combinación de teclas pero no suprime la acción predeterminada del clic derecho. Para suprimir el menú contextual, agregue esta línea al comienzo de su macro: Application.CommandBars("Context Menu").Enabled = False. Al final de la macro, vuelva a habilitarlo: Application.CommandBars("Context Menu").Enabled = True. Tenga en cuenta que deshabilitar el menú contextual globalmente puede afectar otras operaciones de clic derecho mientras se ejecuta la macro.

La macro se ejecuta en cada clic derecho incluso sin la tecla modificadora

Esto sucede si asignó la macro a la tecla de clic derecho simple sin un modificador. Revise su comando OnKey. La cadena para un clic derecho simple es solo “{RButton}”. Si usó eso, la macro se ejecuta en cada clic derecho. Cambie el comando para incluir un modificador como “^{RButton}” para Ctrl+Clic derecho o “+{RButton}” para Shift+Clic derecho.

Comparación de métodos de activación para macros de Word

Elemento OnKey con modificador de clic derecho Atajo de teclado estándar
Acción de activación Clic derecho mientras se mantiene Ctrl, Shift o Alt Solo teclas del teclado, sin intervención del mouse
Facilidad de configuración Requiere código VBA en la Ventana Inmediato o en un módulo Se puede configurar mediante Archivo > Opciones > Personalizar cinta de opciones > Personalizar
Comportamiento del menú contextual El menú contextual aparece después de que se ejecuta la macro, a menos que se suprima en el código Sin interferencia del menú contextual
Persistencia entre sesiones Debe asignarse en Document_Open o en la macro AutoExec Persiste automáticamente una vez guardada en Normal.dotm
Seguridad Requiere macros habilitadas; posibilidad de activación accidental Mismos requisitos de seguridad de macros

Ahora puede crear una macro de Word que responda a un clic derecho mientras mantiene una tecla modificadora. Use el método OnKey con la cadena {RButton} y los símbolos de modificador que elija. Comience probando con una macro MsgBox simple para confirmar que el activador funciona. Para una configuración más avanzada, suprima el menú contextual dentro de la macro para crear una acción de clic derecho personalizada limpia.

ADVERTISEMENT