Como localizar palavras duplicadas no Word

Publicidade

Ao trabalhar em documentos do Word, é possível que você acabe repetindo algumas palavras. Felizmente, é possível localizar palavras duplicadas e até mesmo destacá-las para identificá-las e substituí-las facilmente. Neste tutorial, mostraremos como localizar e destacar palavras duplicadas em um documento do MS Word.

Opção 1- Como localizar palavras duplicadas em um documento do Word

Você pode usar o recurso Localizar” disponível no próprio Word para localizar palavras duplicadas, porém, o que você talvez não saiba, é que é possível destacar essas palavras duplicadas encontradas no documento.

1. Abra o documento no Word e na guia “Página inicial”, clique na seta pra baixo da opção “Localizar” do lado direito e clique em “Localização Avançada…”. Vamos usar essa opção para destacar as palavras duplicadas.

2. Na janela aberta, digite a palavra que deseja procurar por duplicatas no campo “Localizar”.

3. Clique no botão “Mais>>” e marque a opção “Localizar apenas palavras inteiras.

4. Em seguida, clique em “Realce de leitura” e selecione “Realçar tudo”.

5. Feche a janela “Localizar e Substituir” e todas as ocorrências da palavra pesquisada serão destacadas no texto. Agora, você pode remover ou até mesmo substituir facilmente as palavras duplicadas por sinônimos.

Opção 2 – Como usar uma macro para localizar palavras duplicadas no Word

No método acima, é necessário saber quais palavras deseja procurar. Se isso não for o suficiente para você, existe uma “macro” capaz de localizar todas as palavras duplicadas encontradas no documento e gerar uma lista para você saber o que procurar. Veja como usar uma macro para localizar palavras duplicadas no Word.

1. Abra o documento no Microsoft Word e pressione Alt + F11 para abrir o editor do VBA.

2. No Editor do VBA, clique em Inserir e depois em Módulo para criar um novo módulo.

3. Copie e cole o código abaixo no módulo:

Sub FindAndListDuplicateWords()
Dim WordDict As Object
Dim WordCount As Object
Dim Word As Range
Dim Doc As Document
Dim CleanWord As String
Dim i As Long
Dim SortedWords As Variant
Dim Result As String

' Create a dictionary to store word counts
Set WordDict = CreateObject("Scripting.Dictionary")

Set Doc = ActiveDocument

' Loop through all words in the document
For Each Word In Doc.Words
CleanWord = Trim(LCase(Word.Text))

' Remove punctuation
CleanWord = Replace(CleanWord, ".", "")
CleanWord = Replace(CleanWord, ",", "")
CleanWord = Replace(CleanWord, ";", "")
CleanWord = Replace(CleanWord, ":", "")
CleanWord = Replace(CleanWord, "!", "")
CleanWord = Replace(CleanWord, "?", "")
CleanWord = Replace(CleanWord, "'", "")
CleanWord = Replace(CleanWord, Chr(34), "") ' Double quotes
CleanWord = Replace(CleanWord, "(", "")
CleanWord = Replace(CleanWord, ")", "")

' Skip empty words
If Len(CleanWord) > 2 Then
' Add word to dictionary or update count
If WordDict.Exists(CleanWord) Then
WordDict(CleanWord) = WordDict(CleanWord) + 1
Else
WordDict.Add CleanWord, 1
End If
End If
Next Word

' Create a sorted list of words
SortedWords = WordDict.Keys
Call QuickSort(SortedWords, LBound(SortedWords), UBound(SortedWords))

' Create the result string
Result = "Lista de palavras duplicadas:" & vbCrLf & vbCrLf
For i = LBound(SortedWords) To UBound(SortedWords)
If WordDict(SortedWords(i)) > 1 Then
Result = Result & SortedWords(i) & ": " & WordDict(SortedWords(i)) & vbCrLf
End If
Next i

' Display the result in a new document
If Len(Result) > 0 Then
Documents.Add.Content.Text = Result
Else
MsgBox "No duplicate words found.", vbInformation, "Duplicate Words"
End If

' Clean up
Set WordDict = Nothing
End Sub

Sub QuickSort(arr As Variant, first As Long, last As Long)
Dim vCenter As Variant
Dim i As Long, j As Long
Dim temp As Variant

i = first
j = last
vCenter = arr((first + last) / 2)

Do While i <= j
Do While arr(i) < vCenter And i < last
i = i + 1
Loop
Do While vCenter < arr(j) And j > first
j = j - 1
Loop
If i <= j Then
temp = arr(i)
arr(i) = arr(j)
arr(j) = temp
i = i + 1
j = j - 1
End If
Loop

If first < j Then QuickSort arr, first, j
If i < last Then QuickSort arr, i, last
End Sub

4. Feche o Editor do VBA clicando no “X” do editor.

5. De volta ao Word, pressione Alt + F8 para abrir a janela “Macro”.

6. Selecione a opção “FindAndListDuplicateWords” e clique em “Executar”.

7. Ele localizará todas as palavras duplicadas no documento e irá criar um novo documento com as palavras duplicadas que encontrou. Ele exibe as palavras duplicadas e o número de ocorrências das palavras no texto.

Publicidade

Deixe o seu comentário: