Cómo reasignar el atajo ctrl+shift+s de Word a una macro personalizada
🔍 WiseChecker

Cómo reasignar el atajo ctrl+shift+s de Word a una macro personalizada

Desea cambiar el atajo de teclado Ctrl+Shift+S en Word para que ejecute una macro personalizada en lugar del panel Aplicar estilos predeterminado. De forma predeterminada, Word asigna Ctrl+Shift+S para abrir el panel Aplicar estilos. Reasignar este atajo requiere pasos cuidadosos porque Word no permite sobrescribir directamente un atajo integrado a través del cuadro de diálogo Personalizar teclado para algunos comandos. Este artículo explica cómo evitar esa limitación creando una macro y asignándola a la combinación Ctrl+Shift+S mediante un método manual con la plantilla Normal.dotm.

Puntos clave: Reasignar Ctrl+Shift+S a una macro personalizada en Word

  • Archivo > Opciones > Personalizar cinta de opciones > Atajos de teclado: Personalizar: Aquí se abre la personalización de teclado estándar, pero no permite sobrescribir Ctrl+Shift+S directamente para comandos integrados.
  • Alt+F8 abre el cuadro de diálogo Macros: Use esto para crear una nueva macro que reemplazará la acción predeterminada de Ctrl+Shift+S.
  • Edición manual de Normal.dotm mediante Organizador o VBA: Debe copiar la macro en la plantilla Normal.dotm y luego asignar el atajo usando una macro de VBA o editando el archivo de plantilla directamente.

ADVERTISEMENT

Por qué Word impide la reasignación directa de Ctrl+Shift+S para macros

Word almacena las asignaciones de atajos de teclado en dos capas: atajos integrados para comandos predeterminados y atajos personalizados por el usuario almacenados en la plantilla Normal.dotm. La combinación Ctrl+Shift+S es un atajo integrado para el comando Aplicar estilos. Cuando abre el cuadro de diálogo Personalizar teclado, puede asignar un nuevo atajo a una macro, pero Word no le permitirá asignar un atajo que ya está asignado a un comando integrado a menos que primero elimine esa asignación. Sin embargo, eliminar la asignación de Ctrl+Shift+S de Aplicar estilos no es sencillo porque el botón Quitar está atenuado para los atajos integrados en el cuadro de diálogo Personalizar teclado. Esto significa que debe usar un método alternativo: crear una macro y luego usar código de VBA para forzar la asignación del atajo en la plantilla Normal.dotm.

Entender la plantilla Normal.dotm

Normal.dotm es la plantilla global que se carga cada vez que Word se inicia. Almacena macros, estilos y personalizaciones de teclado. Cuando asigna un atajo a una macro, la asignación se guarda en Normal.dotm dentro de la categoría de teclado. El truco consiste en escribir una pequeña macro de VBA que anule el atajo Ctrl+Shift+S asignándolo a su macro personalizada mediante el método KeyBindings.Add. Este método puede anular atajos integrados porque escribe directamente en el archivo de plantilla.

Pasos para reasignar Ctrl+Shift+S a su macro personalizada

Siga estos pasos en orden. Debe tener lista una macro que desee ejecutar. Si no tiene una, puede crear primero una macro de prueba sencilla.

  1. Abrir el Editor de VBA
    Presione Alt+F11 para abrir el editor de Microsoft Visual Basic for Applications. En el panel Explorador de proyectos, expanda Normal y luego Módulos. Si no ve una carpeta Módulos, haga clic con el botón derecho en Normal, elija Insertar > Módulo y asígnele un nombre como NewShortcuts.
  2. Escribir la macro que se ejecutará al presionar Ctrl+Shift+S
    En el módulo que creó, pegue esta macro de ejemplo que muestra un cuadro de mensaje:
    Sub MyCustomMacro()
    MsgBox "Your custom macro ran."
    End Sub

    Reemplace el código dentro del Sub con la lógica real de su macro. Cierre el editor de VBA.
  3. Escribir la macro de asignación
    En el mismo módulo, agregue una segunda macro que asignará Ctrl+Shift+S a MyCustomMacro:
    Sub AssignShortcut()
    Dim kb As KeyBinding
    Set kb = Application.KeyBindings.Add _
    KeyCategory:=wdKeyCategoryMacro, _
    Command:="MyCustomMacro", _
    KeyParameter:="Ctrl+Shift+S"
    End Sub

    Esta macro usa el método Add para anular el atajo integrado. El KeyParameter distingue entre mayúsculas y minúsculas.
  4. Ejecutar la macro de asignación
    Presione Alt+F8 para abrir el cuadro de diálogo Macros. Seleccione AssignShortcut en la lista y haga clic en Ejecutar. La macro se ejecuta silenciosamente y escribe la nueva asignación de atajo en Normal.dotm. Word ahora ejecuta MyCustomMacro cuando presiona Ctrl+Shift+S.
  5. Probar el nuevo atajo
    Presione Ctrl+Shift+S. Si usó la macro de ejemplo anterior, verá un cuadro de mensaje. Si en su lugar ve el panel Aplicar estilos, la asignación no se aplicó. Repita el paso 4 después de cerrar y volver a abrir Word.

Método alternativo: Usar el cuadro de diálogo Personalizar teclado con una plantilla guardada

Si el método de VBA no funciona, puede probar esta alternativa: guarde su macro en una plantilla separada y luego use el cuadro de diálogo Personalizar teclado para asignar el atajo solo para esa plantilla. Abra el cuadro de diálogo Personalizar teclado mediante Archivo > Opciones > Personalizar cinta de opciones > Atajos de teclado: Personalizar. En la lista desplegable Guardar cambios en, elija su plantilla personalizada en lugar de Normal.dotm. Luego seleccione Macros en la lista Categorías, seleccione su macro y presione Ctrl+Shift+S en el cuadro Presione la nueva tecla de método abreviado. Word lo asignará porque se guarda en una plantilla diferente. Sin embargo, esta asignación solo funciona cuando esa plantilla está cargada. Para hacerla global, copie la macro a Normal.dotm como se describe en los pasos principales.

ADVERTISEMENT

Si el atajo sigue abriendo el panel Aplicar estilos

Si después de ejecutar la macro de asignación todavía aparece el panel Aplicar estilos, es posible que el atajo integrado esté en caché. Pruebe estas soluciones.

Word sigue mostrando el panel Aplicar estilos después de ejecutar la macro

Cierre Word por completo. Navegue a %appdata%\Microsoft\Templates y busque Normal.dotm. Cambie el nombre a Normal.old. Reinicie Word. Se crea un nuevo Normal.dotm. Ahora repita los pasos 1 a 5 anteriores. Esto borra cualquier dato de atajo dañado en la plantilla antigua.

La macro no aparece en el cuadro de diálogo Macros

Abra el editor de VBA de nuevo y confirme que la macro está en el proyecto Normal dentro de Módulos. Si está dentro de un proyecto diferente como Project (Document1), muévala a Normal cortando y pegando el código en un nuevo módulo dentro de Normal. Las macros deben estar en Normal.dotm para estar disponibles globalmente.

Word Online vs. escritorio: Diferencias de personalización de atajos

Elemento Word de escritorio (Windows) Word Online
Admite macros personalizadas Sí No
Puede reasignar atajos integrados Sí, mediante método alternativo de VBA No
Atajos almacenados en Normal.dotm o plantilla personalizada No aplicable
Atajo predeterminado del panel Aplicar estilos Ctrl+Shift+S Ctrl+Shift+S (no se puede cambiar)

Word Online no admite macros de VBA. No puede reasignar ningún atajo de teclado en Word Online. El atajo Ctrl+Shift+S siempre abre el panel Estilos. Toda la personalización descrita en este artículo se aplica solo a la versión de escritorio de Word en Windows.

Ahora puede reasignar Ctrl+Shift+S para ejecutar su propia macro. Use la macro de asignación de VBA como método principal. Si el atajo vuelve a cambiar después de una actualización de Word, ejecute de nuevo la macro AssignShortcut. Para un control avanzado, considere almacenar sus macros y asignaciones en una plantilla global separada cargada como complemento para evitar modificar Normal.dotm directamente.

ADVERTISEMENT