Ir ao conteúdo
  • Cadastre-se

Formatação Automatica - Word 2010


Ir à solução Resolvido por Xflapc2,

Posts recomendados

Bom Dia, gostaria de saber se ha alguma forma de uma formatação automática  no Word.

 

Por exemplo.

 

Se eu digitar a palavra " for " ele deixar SOMENTE ELA na cor azul.

 

Se eu digitar a palavra " #define" ele deixar somente ela na cor verde...

 

Ha alguma forma? 

Link para o comentário
Compartilhar em outros sites

1) Crie um arquivo no formato habilitado para macro "MEUDOC.DOCM"
2) Vá na aba desenvolvedor e clique em VISUAL BASIC.
3) Na lista à esquerda vá em Project (MEUDOC).
4) Dê duplo clique sobre ThisDocument que está na pasta Microsoft Word Objetos.
5) Na área em branco à direita entre este código: 

Public Sub AutoOpen()Application.CustomizationContext = ThisDocument.AttachedTemplateKeyBindings.Add KeyCode:=BuildKeyCode(wdKeySpacebar), KeyCategory:= _wdKeyCategoryMacro, Command:="MyMacro"End SubPublic Sub AutoClose()Dim kbLoop As KeyBindingCustomizationContext = NormalTemplateFor Each kbLoop In KeysBoundTo(KeyCategory:=wdKeyCategoryMacro, Command:="MyMacro")    kbLoop.DisableNext kbLoopEnd Sub

A sub AutoClose é necessária para desabilitar o monitoramento da tecla de espaço, caso contrário quando fechar o arquivo e usar outros no word a tecla não vai funcionar.
 
Este código rodará a macro MyMacro toda vez que a tecla espaço for teclada.
 
6) Volte ao menu à esquerda, em Project (MEUDOC),  em Módulos e clique em Módulo 1, se não existir ele, clique com o direito em Módulos e clique Inserir - módulo.
 
7) Clique duas vezes sobre o Módulo 1 e entre o seguinte código na janela da direita:
 

Sub mymacro() Selection.MoveStartUntil Cset:=" ", Count:=wdBackward If Selection.Paragraphs.Count > 1 Or Len(Selection.Text) = 1 Then Selection.Paragraphs(Selection.Paragraphs.Count).Range.Select CorA = Selection.Font.Color texto = Replace(Selection.Text, Chr(13), "") If texto = "for" Or Left(texto, 1) = Chr(147) And Right(texto, 1) = Chr(148) Then Selection.Font.Color = wdColorBlue Selection.EndKey Selection.Font.Color = CorA Selection.TypeText Text:=" " End Sub

Salve o arquivo, abra de novo e veja se funcionou, durante a digitação do texto, quando digitar "for" ela será formatada em azul.
 
Se funcionou, agora é só você personalizar a macro inserindo ou modificando o código para mais palavras e cores diferentes.
 
O código da macro está simplificado, é só para servir como modelo, você precisará trabalhar em cima do código até chegar ao resultado que te atenda.
 
Infelizmente não há essa função de forma automática dentro do próprio word, só mesmo via programação.
 
Informe se funcionou.

Link para o comentário
Compartilhar em outros sites

  • Solução


Sub mymacro()

Selection.MoveStartUntil Cset:=" ", Count:=wdBackward

If Selection.Text = Chr(13) Then Selection.GoTo What:=wdGoToBookmark, Name:="\para"

CorA = Selection.Font.Color

Texto = Selection.Text

If Texto = "for" Or Left(Texto, 1) = Chr(147) And Right(Texto, 1) = Chr(148) Then Selection.Font.Color = wdColorBlue

Selection.EndKey

Selection.Font.Color = CorA

Selection.TypeText Text:=" "

End Sub

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...