View Single Post
 
Old 08-19-2021, 03:35 AM
laith93 laith93 is offline Windows 10 Office 2019
Competent Performer
 
Join Date: Jul 2021
Posts: 117
laith93 is on a distinguished road
Default

Quote:
Originally Posted by gmayor View Post
The macro checks each of your listed abbreviations in the table against the document and highlights them. This would then allow you to look through the document to establish which items are not highlighted and therefore missing from the table.
Excuse me Mr. gmayor, I think you still do not understand me. To clarify, suppose AAA is an abbreviation and was written in the table and present in paragraph 5 of my document. Also, suppose paragraph 5 was deleted by the supervisor, the abbreviation in paragraph 5 was gone, but still present in the table. According to your idea for the code, it will highlight already existed abbreviations in the paragraphs, but what about abbreviations that have been deleted in the deleted paragraphs. As a consequence, I don't know which abbreviations were deleted, as the code highlight only existed abbreviations. In conclusion, highlighting unused abbreviations in the table is an ideal way for rapidly recognizing deleted abbreviations.

However, I faced this problem when running your code:
143.png

Furthermore, during waiting time I googled and found this code from
HTML Code:
https://wordribbon.tips.net/T001173_Highlight_Words_from_a_Word_List.html
, which is similar to your code:

Code:
Sub CompareWordList()
    Dim sCheckDoc As String
    Dim docRef As Document
    Dim docCurrent As Document
    Dim wrdRef As Object

    sCheckDoc = "c:\checklist.doc"
    Set docCurrent = Selection.Document
    Set docRef = Documents.Open(sCheckDoc)
    docCurrent.Activate

    With Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Replacement.Font.Bold = True
        .Replacement.Text = "^&"
        .Forward = True
        .Format = True
        .MatchWholeWord = True
        .MatchCase = True
        .MatchWildcards = False
    End With

    For Each wrdRef In docRef.Words
        If Asc(Left(wrdRef, 1)) > 32 Then
            With Selection.Find
                .Wrap = wdFindContinue
                .Text = wrdRef
                .Execute Replace:=wdReplaceAll
            End With
        End If
    Next wrdRef

    docRef.Close
    docCurrent.Activate
End Sub
In the same way, the problem with this code is highlighting the existed abbreviations in the active document, so if you can modify it to highlight unused abbreviations in the checklist file only. Also, according to the above code, I found an article that highlights the words in both documents:

HTML Code:
https://stackoverflow.com/questions/49292384/highlight-words-microsoft-word-from-checklist-and-highlight-matching-words-in-c
Thank you again
Reply With Quote