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.
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.
- 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. - 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. - 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étodoAddpara substituir o atalho interno. OKeyParameterdiferencia maiúsculas de minúsculas. - 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. - 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.
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.