Como Reatribuir o Atalho Ctrl+Shift+S do Word para uma Macro Personalizada
🔍 WiseChecker

Como Reatribuir o Atalho Ctrl+Shift+S do Word para uma Macro Personalizada

Você quer alterar o atalho de teclado Ctrl+Shift+S no Word para que ele execute uma macro personalizada em vez do painel Aplicar Estilos padrão. Por padrão, o Word atribui Ctrl+Shift+S para abrir o painel Aplicar Estilos. Reatribuir este atalho requer etapas cuidadosas porque o Word não permite sobrescrever diretamente um atalho interno através da caixa de diálogo Personalizar Teclado para alguns comandos. Este artigo explica como contornar essa limitação criando uma macro e atribuindo-a à combinação Ctrl+Shift+S usando uma solução manual com o modelo Normal.dotm.

Principais Conclusões: Reatribuir Ctrl+Shift+S a uma Macro Personalizada no Word

  • Arquivo > Opções > Personalizar Faixa de Opções > Atalhos do teclado: Personalizar: A personalização padrão do teclado abre aqui, mas não permite sobrescrever Ctrl+Shift+S diretamente para comandos internos.
  • Alt+F8 abre a caixa de diálogo Macros: Use para criar uma nova macro que substituirá a ação padrão de Ctrl+Shift+S.
  • Edição manual do Normal.dotm via Organizador ou VBA: Você deve copiar a macro para o modelo Normal.dotm e depois atribuir o atalho usando uma macro VBA ou editando o arquivo de modelo diretamente.

ADVERTISEMENT

Por que o Word Impede a Reatribuição Direta de Ctrl+Shift+S para Macros

O Word armazena as atribuições de atalhos de teclado em duas camadas: atalhos internos para comandos padrão e atalhos personalizados pelo usuário armazenados no modelo Normal.dotm. A combinação Ctrl+Shift+S é um atalho interno para o comando Aplicar Estilos. Quando você abre a caixa de diálogo Personalizar Teclado, pode atribuir um novo atalho a uma macro, mas o Word não permite atribuir um atalho já atribuído a um comando interno, a menos que você remova essa atribuição primeiro. No entanto, remover a atribuição de Ctrl+Shift+S de Aplicar Estilos não é direto porque o botão Remover fica desabilitado para atalhos internos na caixa de diálogo Personalizar Teclado. Isso significa que você deve usar uma solução alternativa: criar uma macro e depois usar código VBA para forçar a atribuição do atalho no modelo Normal.dotm.

Entendendo o Modelo Normal.dotm

Normal.dotm é o modelo global que carrega toda vez que o Word inicia. Ele armazena macros, estilos e personalizações de teclado. Quando você atribui um atalho a uma macro, a atribuição é salva no Normal.dotm na categoria de teclado. O truque é escrever uma pequena macro VBA que substitui o atalho Ctrl+Shift+S atribuindo-o à sua macro personalizada usando o método KeyBindings.Add. Este método pode substituir atalhos internos porque escreve diretamente no arquivo de modelo.

Passos para Reatribuir Ctrl+Shift+S à Sua Macro Personalizada

Siga estes passos em ordem. Você precisa ter uma macro pronta que deseja executar. Se não tiver uma, crie uma macro de teste primeiro.

  1. Abra o Editor VBA
    Pressione Alt+F11 para abrir o editor Microsoft Visual Basic for Applications. No painel Explorer de Projetos, expanda Normal e depois Módulos. Se não vir uma pasta Módulos, clique com o botão direito em Normal, escolha Inserir > Módulo e nomeie algo como NovosAtalhos.
  2. Escreva a Macro que Será Executada ao Pressionar Ctrl+Shift+S
    No módulo criado, cole esta macro de exemplo que exibe uma caixa de mensagem:
    Sub MinhaMacroPersonalizada()
    MsgBox "Sua macro personalizada foi executada."
    End Sub

    Substitua o código dentro da Sub pela sua lógica de macro real. Feche o editor VBA.
  3. Escreva a Macro de Atribuição
    No mesmo módulo, adicione uma segunda macro que atribuirá Ctrl+Shift+S a MinhaMacroPersonalizada:
    Sub AtribuirAtalho()
    Dim kb As KeyBinding
    Set kb = Application.KeyBindings.Add _
    KeyCategory:=wdKeyCategoryMacro, _
    Command:="MinhaMacroPersonalizada", _
    KeyParameter:="Ctrl+Shift+S"
    End Sub

    Esta macro usa o método Add para substituir o atalho interno. O KeyParameter diferencia maiúsculas de minúsculas.
  4. Execute a Macro de Atribuição
    Pressione Alt+F8 para abrir a caixa de diálogo Macros. Selecione AtribuirAtalho na lista e clique em Executar. A macro é executada silenciosamente e escreve a nova atribuição de atalho no Normal.dotm. O Word agora executa MinhaMacroPersonalizada quando você pressiona Ctrl+Shift+S.
  5. Teste o Novo Atalho
    Pressione Ctrl+Shift+S. Se você usou a macro de exemplo acima, verá uma caixa de mensagem. Se o painel Aplicar Estilos aparecer, a atribuição não funcionou. Repita o passo 4 após fechar e reabrir o Word.

Método Alternativo: Usando a Caixa de Diálogo Personalizar Teclado com um Modelo Salvo

Se o método VBA não funcionar, tente esta alternativa: salve sua macro em um modelo separado e use a caixa de diálogo Personalizar Teclado para atribuir o atalho apenas para esse modelo. Abra a caixa de diálogo Personalizar Teclado via Arquivo > Opções > Personalizar Faixa de Opções > Atalhos do teclado: Personalizar. No menu suspenso Salvar alterações em, escolha seu modelo personalizado em vez de Normal.dotm. Em seguida, selecione Macros na lista Categorias, selecione sua macro e pressione Ctrl+Shift+S na caixa Pressione a nova tecla de atalho. O Word atribuirá porque está salvo em um modelo diferente. No entanto, essa atribuição funciona apenas quando esse modelo está carregado. Para torná-la global, copie a macro para Normal.dotm conforme descrito nos passos principais.

ADVERTISEMENT

Se o Atalho Ainda Abrir o Painel Aplicar Estilos

Se após executar a macro de atribuição o painel Aplicar Estilos ainda aparecer, o atalho interno pode estar em cache. Tente estas correções.

O Word Ainda Mostra o Painel Aplicar Estilos Após Executar a Macro

Feche o Word completamente. Navegue até %appdata%\Microsoft\Templates e encontre Normal.dotm. Renomeie para Normal.old. Reinicie o Word. Um novo Normal.dotm é criado. Agora repita os passos 1 a 5 acima. Isso limpa quaisquer dados de atalho corrompidos no modelo antigo.

A Macro Não Aparece na Caixa de Diálogo Macros

Abra o editor VBA novamente e confirme que a macro está no projeto Normal sob Módulos. Se estiver dentro de um projeto diferente como Projeto (Documento1), mova-a para Normal cortando e colando o código em um novo módulo sob Normal. As macros devem estar no Normal.dotm para estarem disponíveis globalmente.

Word Online vs Desktop: Diferenças na Personalização de Atalhos

Item Word Desktop (Windows) Word Online
Suporta macros personalizadas Sim Não
Pode reatribuir atalhos internos Sim via solução VBA Não
Atalhos armazenados em Normal.dotm ou modelo personalizado Não aplicável
Atalho padrão do painel Aplicar Estilos Ctrl+Shift+S Ctrl+Shift+S (não pode alterar)

O Word Online não suporta macros VBA. Você não pode reatribuir nenhum atalho de teclado no Word Online. O atalho Ctrl+Shift+S sempre abre o painel Estilos. Todas as personalizações descritas neste artigo se aplicam apenas à versão desktop do Word no Windows.

Agora você pode reatribuir Ctrl+Shift+S para executar sua própria macro. Use a macro de atribuição VBA como método principal. Se o atalho reverter após uma atualização do Word, execute a macro AtribuirAtalho novamente. Para controle avançado, considere armazenar suas macros e atribuições em um modelo global separado carregado como um suplemento para evitar modificar o Normal.dotm diretamente.

ADVERTISEMENT