Você quer aplicar um estilo no Word e fazer com que ele insira automaticamente um bloco de texto predefinido, como uma assinatura, aviso legal ou cláusula padrão. O Word não permite nativamente que um estilo de parágrafo acione a inserção de um AutoTexto ou Peça Rápida ao clicar nele na galeria de estilos. No entanto, você pode conseguir esse comportamento combinando um estilo personalizado com uma macro que é executada quando o estilo é aplicado. Este artigo explica como configurar uma inserção de AutoTexto vinculada a um estilo usando uma macro VBA simples, incluindo as etapas exatas para criar o estilo, gravar a entrada de AutoTexto e atribuir a macro ao estilo.
Principais conclusões: Criar um estilo que insira AutoTexto ao ser aplicado
- Página Inicial > Estilos > Criar um Estilo: Defina um novo estilo de parágrafo com a formatação necessária para o conteúdo inserido.
- Inserir > Peças Rápidas > AutoTexto > Salvar Seleção na Galeria de AutoTexto: Salve o bloco de texto desejado como uma entrada de AutoTexto com um nome exclusivo.
- Alt+F11 para abrir o editor VBA > Inserir Módulo > Cole a macro que aplica o estilo e insere o AutoTexto: A macro é o mecanismo central que aciona a inserção quando o estilo é aplicado.
Como um estilo pode acionar a inserção de AutoTexto
Os estilos do Word foram projetados para aplicar atributos de formatação como fonte, tamanho, espaçamento e bordas. Eles não têm um evento interno que execute código ou insira conteúdo quando você os seleciona no painel ou na galeria de estilos. Para fazer um estilo inserir AutoTexto, você deve usar uma macro que intercepte a aplicação do estilo. A macro primeiro aplica o estilo ao parágrafo atual e, em seguida, insere a entrada de AutoTexto na posição do cursor. Essa abordagem exige que você salve o conteúdo desejado como uma entrada de AutoTexto e crie uma macro VBA que chame a inserção do AutoTexto. A macro deve ser armazenada no documento ou em um modelo global para que seja executada quando o estilo for aplicado.
Antes de começar, verifique se as macros estão habilitadas nas configurações da Central de Confiabilidade. Vá em Arquivo > Opções > Central de Confiabilidade > Configurações da Central de Confiabilidade > Configurações de Macro e selecione Habilitar todas as macros. Marque também a caixa Confiar acesso ao modelo de objeto do projeto VBA. Isso é necessário para que a macro seja executada automaticamente.
Etapas para criar o estilo e a macro de AutoTexto
- Criar a entrada de AutoTexto
Digite o bloco de texto desejado, por exemplo, um aviso legal ou bloco de assinatura. Selecione todo o texto. Vá em Inserir > Peças Rápidas > AutoTexto > Salvar Seleção na Galeria de AutoTexto. Na caixa de diálogo Criar novo bloco de construção, digite um nome exclusivo, como “MeuAvisoLegal”. Defina a Galeria como AutoTexto. Clique em OK. - Criar o estilo personalizado
Na guia Página Inicial, clique no iniciador da caixa de diálogo Estilos (a pequena seta no canto inferior direito do grupo Estilos). Clique no botão Novo Estilo na parte inferior do painel Estilos. Na caixa de diálogo Criar novo estilo a partir da formatação, digite um nome como “Estilo Aviso Legal”. Defina o Tipo de estilo como Parágrafo. Configure a formatação desejada para o bloco de texto. Clique em OK. - Abrir o editor VBA
Pressione Alt+F11 para abrir o editor do Visual Basic for Applications. No painel Explorador de Projetos, localize seu documento ou o modelo Normal.dotm. Clique com o botão direito no nome do projeto e escolha Inserir > Módulo. Um novo módulo de código será aberto. - Escrever a macro
No módulo, cole o seguinte código:Sub AplicarEstiloAvisoLegal()
Selection.Style = ActiveDocument.Styles("Estilo Aviso Legal")
Application.Templates(_
Loaded:=True).BuildingBlockEntries("MeuAvisoLegal").Insert _
Where:=Selection.Range, RichText:=True
End Sub
Substitua “Estilo Aviso Legal” pelo nome do seu estilo e “MeuAvisoLegal” pelo nome da sua entrada de AutoTexto. Feche o editor VBA. - Atribuir a macro ao estilo
O Word não permite atribuir uma macro diretamente a um estilo na interface do usuário. Em vez disso, adicione a macro à Barra de Ferramentas de Acesso Rápido ou crie um atalho de teclado. Para adicionar à Barra de Ferramentas de Acesso Rápido, vá em Arquivo > Opções > Barra de Ferramentas de Acesso Rápido. Em Escolher comandos de, selecione Macros. Selecione a macro chamada AplicarEstiloAvisoLegal e clique em Adicionar. Clique em OK. Agora, clicar nesse botão na Barra de Ferramentas de Acesso Rápido aplica o estilo e insere o AutoTexto. - Testar a macro
Posicione o cursor em um parágrafo em branco. Clique no botão da macro na Barra de Ferramentas de Acesso Rápido. O estilo deve ser aplicado ao parágrafo e o conteúdo do AutoTexto deve aparecer na posição do cursor.
Limitações e abordagens alternativas
O método acima não faz com que o estilo em si acione a macro quando você clica nele na galeria de estilos. A macro deve ser executada manualmente por meio de um botão ou atalho de teclado. Se você precisar que o estilo execute a macro automaticamente quando aplicado pela galeria, seria necessário uma macro mais avançada orientada a eventos que monitore o evento SelectionChange e verifique se o estilo foi alterado. Isso é complexo e pode tornar o Word mais lento. Uma alternativa mais simples é usar um atalho de teclado personalizado para a macro. Vá em Arquivo > Opções > Personalizar Faixa de Opções > Personalizar ao lado de Atalhos do teclado. Em Categorias, selecione Macros. Em Macros, selecione AplicarEstiloAvisoLegal. Atribua um atalho como Ctrl+Alt+D. Pressionar esse atalho aplica o estilo e insere o AutoTexto.
O Word não insere o AutoTexto quando o estilo é aplicado pela galeria
Esse comportamento é esperado. A macro só é executada quando você a aciona explicitamente. Para tornar a inserção do estilo mais integrada, você pode ocultar o estilo original do painel Estilos e instruir os usuários a usar o botão da macro ou o atalho. Clique com o botão direito no estilo no painel Estilos e escolha Modificar. Marque a caixa Adicionar à galeria de estilos, mas deixe desmarcada Adicionar à lista de estilos rápidos. Isso impede que o estilo apareça na lista de estilos rápidos, reduzindo o uso acidental.
A macro insere o AutoTexto no local errado
A macro insere o AutoTexto no Selection.Range atual. Se você quiser que o AutoTexto apareça no início do parágrafo após a aplicação do estilo, altere a linha para Selection.Paragraphs(1).Range.InsertBefore ou use um marcador específico. Para a maioria dos usos, inserir na posição do cursor é suficiente.
A macro não é executada devido às configurações de segurança
Se a macro não for executada, verifique se as macros estão habilitadas. Certifique-se também de que o documento foi salvo como um documento habilitado para macro (.docm) ou que a macro está armazenada no modelo Normal.dotm. Se você usar um arquivo .docx, as macros não serão executadas. Salve seu arquivo como Documento Habilitado para Macro do Word (docm).
| Item | Método do botão da macro | Método da macro orientada a eventos |
|---|---|---|
| Facilidade de configuração | Simples: uma macro, um botão ou atalho | Complexo: requer manipulador de eventos e detecção de mudança de estilo |
| Interação do usuário | O usuário clica em um botão ou pressiona um atalho | O usuário aplica o estilo normalmente; a macro é executada em segundo plano |
| Impacto no desempenho | Nenhum: a macro é executada apenas sob demanda | Moderado: o manipulador de eventos verifica cada alteração de seleção |
| Confiabilidade | Alta: a macro sempre é executada quando acionada | Média: pode entrar em conflito com outras macros ou desfazer |
| Compatibilidade | Funciona no Word 2010 e versões posteriores | Funciona no Word 2010 e versões posteriores, mas pode ser bloqueado pela segurança |
Agora você pode criar um estilo no Word que insira conteúdo de AutoTexto ao ser aplicado, usando uma macro atribuída a um botão ou atalho de teclado. Esse método funciona de forma confiável para qualquer bloco de texto salvo como entrada de AutoTexto. Para uma experiência mais automática, explore a abordagem orientada a eventos, mas esteja ciente de sua complexidade e possíveis compensações de desempenho. Como dica avançada, armazene a macro em um modelo global (Normal.dotm) para que esteja disponível em todos os documentos sem recriar o estilo a cada vez.