Você quer executar uma macro do Word ao clicar com o botão direito enquanto segura uma tecla modificadora como Ctrl, Shift ou Alt. O Word não oferece suporte nativo para atribuir macros a menus de contexto com teclas modificadoras. Este artigo explica como usar o método OnKey com um atalho de teclado personalizado que imita o comportamento de um clique direito combinado com modificador. Você aprenderá a atribuir uma macro a uma combinação de teclas como Ctrl+Shift+F10 e, em seguida, acioná-la clicando com o botão direito enquanto segura as teclas modificadoras.
Principais Conclusões: Acionar uma Macro do Word com Clique Direito e Modificador
- Método OnKey do VBA do Word com combinação de teclas personalizada: Atribui uma macro a uma combinação de teclas como Ctrl+Shift+F10 que você pressiona enquanto clica com o botão direito
- Guia Desenvolvedor > Visual Basic > Inserir Módulo: Onde você escreve o código da macro que será executada quando a combinação de teclas for pressionada
- Personalizar Faixa de Opções > Guia Desenvolvedor: Deve estar habilitada antes de acessar o editor VBA e as ferramentas de macro
O Método OnKey e Combinações de Teclas Modificadoras no Word
O modelo de segurança de macros do Word não permite que macros interceptem diretamente o evento de clique direito. O evento de clique direito é reservado para o menu de contexto interno. No entanto, você pode criar uma macro que é executada ao pressionar um atalho de teclado que envolve o botão direito do mouse como modificador. O método OnKey no VBA do Word permite atribuir uma macro a qualquer tecla ou combinação de teclas, incluindo teclas que envolvem o botão direito. O botão direito é representado pela string “+{RButton}” na sintaxe do OnKey. Ao combinar uma tecla modificadora como Ctrl ou Shift com o botão direito, você cria um gatilho que só é ativado ao clicar com o botão direito enquanto segura esse modificador.
Antes de começar, certifique-se de que a guia Desenvolvedor está visível na faixa de opções do Word. Vá em Arquivo > Opções > Personalizar Faixa de Opções. No painel direito, marque a caixa ao lado de Desenvolvedor e clique em OK. Você também precisa ter familiaridade básica com o editor do Visual Basic for Applications, que é aberto clicando no botão Visual Basic na guia Desenvolvedor.
Passos para Criar uma Macro Acionada por Clique Direito Mais um Modificador
- Abra o editor VBA e insira um módulo
Na guia Desenvolvedor, clique em Visual Basic. No painel Explorador de Projetos, expanda Normal ou o nome do seu documento. Clique com o botão direito em qualquer lugar da árvore e escolha Inserir > Módulo. Uma janela de código em branco aparece. - Escreva a macro que será executada no gatilho
No módulo, digite um procedimento Sub. Por exemplo:Sub MinhaMacroCliqueDireito()
MsgBox "Você clicou com o botão direito enquanto segurava Ctrl"
End Sub
Substitua a linha MsgBox pelas ações reais da sua macro. Feche o editor VBA quando terminar. - Atribua a macro a uma combinação de clique direito mais tecla modificadora
No editor VBA, abra a Janela Imediata pressionando Ctrl+G. Digite a linha a seguir e pressione Enter:Application.OnKey "^+{RButton}", "MinhaMacroCliqueDireito"
O acento circunflexo ^ representa Ctrl. O sinal de mais + representa Shift. A string “{RButton}” é o botão direito do mouse. Esta linha atribui a macro a Ctrl+Shift+Clique Direito. Para usar apenas Ctrl e clique direito, digite"^{RButton}". Para usar apenas Shift e clique direito, digite"+{RButton}". - Teste o gatilho
Feche o editor VBA. Pressione e segure Ctrl e Shift juntos. Enquanto os segura, clique com o botão direito em qualquer lugar do documento do Word. A macro é executada imediatamente. Se nada acontecer, verifique se o comando da Janela Imediata foi executado sem erros e se o nome da macro está escrito corretamente. - Torne a atribuição permanente adicionando-a ao documento ou modelo
A atribuição OnKey da Janela Imediata dura apenas até você fechar o Word. Para torná-la permanente, adicione a linha OnKey ao evento Document_Open do módulo ThisDocument ou à macro AutoExec do modelo Normal. Por exemplo, no módulo ThisDocument, selecione Document no menu suspenso esquerdo e Open no direito, depois insira:Private Sub Document_Open()
Application.OnKey "^+{RButton}", "MinhaMacroCliqueDireito"
End Sub - Remova a atribuição quando não for mais necessária
Para desatribuir a combinação de teclas, execute esta linha na Janela Imediata ou em uma macro:Application.OnKey "^+{RButton}"
Omitir o argumento do nome da macro restaura o comportamento padrão para essa combinação de teclas.
Problemas Comuns ao Usar uma Macro com Clique Direito e Modificador
A macro não é executada ao clicar com o botão direito enquanto segura as teclas modificadoras
A causa mais comum é que a atribuição OnKey não foi executada. Verifique se você digitou o comando OnKey na Janela Imediata exatamente como mostrado, incluindo as aspas. Confirme também se o nome da macro corresponde ao nome Sub no seu módulo. Se estiver usando uma atribuição em nível de documento, certifique-se de que a configuração de segurança de macros do documento não está bloqueando macros. Vá em Arquivo > Opções > Central de Confiabilidade > Configurações da Central de Confiabilidade > Configurações de Macro e selecione Habilitar todas as macros se estiver testando. Lembre-se de desabilitar isso após o teste por razões de segurança.
O menu de contexto do clique direito ainda aparece ao usar a combinação de modificador
O Word exibe o menu de contexto após a macro ser executada. O método OnKey intercepta a combinação de teclas, mas não suprime a ação padrão do clique direito. Para suprimir o menu de contexto, adicione esta linha no início da sua macro: Application.CommandBars("Context Menu").Enabled = False. No final da macro, reative-o: Application.CommandBars("Context Menu").Enabled = True. Esteja ciente de que desabilitar o menu de contexto globalmente pode afetar outras operações de clique direito enquanto a macro é executada.
A macro é executada em todo clique direito, mesmo sem a tecla modificadora
Isso acontece se você atribuiu a macro ao clique direito simples, sem um modificador. Verifique seu comando OnKey. A string para um clique direito simples é apenas “{RButton}”. Se você usou isso, a macro será executada em todo clique direito. Altere o comando para incluir um modificador, como “^{RButton}” para Ctrl+Clique Direito ou “+{RButton}” para Shift+Clique Direito.
Comparação de Métodos de Gatilho para Macros do Word
| Item | OnKey com Modificador de Clique Direito | Atalho de Teclado Padrão |
|---|---|---|
| Ação de gatilho | Clique direito enquanto segura Ctrl, Shift ou Alt | Apenas teclas do teclado, sem envolvimento do mouse |
| Facilidade de configuração | Requer código VBA na Janela Imediata ou módulo | Pode ser configurado via Arquivo > Opções > Personalizar Faixa de Opções > Personalizar |
| Comportamento do menu de contexto | Menu de contexto aparece após a macro ser executada, a menos que suprimido no código | Sem interferência do menu de contexto |
| Persistência entre sessões | Deve ser atribuído no Document_Open ou macro AutoExec | Persiste automaticamente após salvo no Normal.dotm |
| Segurança | Requer macros habilitadas; potencial para gatilho acidental | Mesmos requisitos de segurança de macro |
Agora você pode criar uma macro do Word que responde a um clique direito enquanto segura uma tecla modificadora. Use o método OnKey com a string {RButton} e os símbolos do modificador escolhido. Comece testando com uma macro MsgBox simples para confirmar que o gatilho funciona. Para uma configuração mais avançada, suprima o menu de contexto dentro da macro para criar uma ação de clique direito personalizada e limpa.