메인 컨텐츠로 가기

Word 문서에서 중복 단락을 찾아 강조 표시하는 방법은 무엇입니까?

수백 페이지의 큰 Word 문서가 있다고 가정 해 보겠습니다. 이제 중복 된 단락이 있는지 확인한 다음 강조 표시하여 중복 된 문장을 처리 할 수 ​​있습니다. Word 문서에서 중복 된 단락을 빠르고 쉽게 찾고 강조 표시하려면 어떻게해야합니까?

VBA 코드를 사용하여 Word 문서에서 중복 단락을 찾아 강조 표시


VBA 코드를 사용하여 Word 문서에서 중복 단락을 찾아 강조 표시

Word 문서에서 중복 된 단락을 찾아 강조 표시하려면 다음 VBA 코드가 도움이 될 수 있습니다. 다음과 같이하십시오.

1. 누르고 ALT + F11 키를 눌러 응용 프로그램 용 Microsoft Visual Basic 창.

2. 그런 다음 끼워 넣다 > 모듈, 아래 코드를 복사하여 열린 빈 모듈에 붙여 넣습니다.

VBA 코드 : Word 문서에서 중복 된 단락을 찾아 강조 표시합니다.

Sub highlightdup()
    Dim I, J As Long
    Dim xRngFind, xRng As Range
    Dim xStrFind, xStr As String
    Options.DefaultHighlightColorIndex = wdYellow
    Application.ScreenUpdating = False
    With ActiveDocument
        For I = 1 To .Paragraphs.Count - 1
            Set xRngFind = .Paragraphs(I).Range
            If xRngFind.HighlightColorIndex <> wdYellow Then
                For J = I + 1 To .Paragraphs.Count
                    Set xRng = .Paragraphs(J).Range
                    If xRngFind.Text = xRng.Text Then
                        xRngFind.HighlightColorIndex = wdBrightGreen
                        xRng.HighlightColorIndex = wdYellow
                    End If
                Next
            End If
        Next
    End With
End Sub

3. 그런 다음 F5 이 코드를 실행하려면 모든 중복 문장이 한 번에 강조 표시되고 처음 표시된 중복 단락은 녹색으로 강조 표시되고 다른 중복은 노란색으로 강조 표시됩니다. 스크린 샷 참조 :

문서 하이라이트 중복 문장 1

최고의 사무 생산성 도구

Word 용 Kutools - Over로 단어 경험을 향상시키세요 100 놀라운 기능!

🤖 Kutools AI 도우미: AI로 글쓰기를 변화시키세요 - 콘텐츠 생성  /  텍스트 다시 쓰기  /  문서 요약  /  정보 문의 문서 기반, 모두 Word 내에서

📘 문서 숙달: 페이지 분할  /  문서 병합  /  다양한 형식으로 선택 항목 내보내기(PDF/TXT/DOC/HTML...)  /  PDF로 일괄 변환  /  페이지를 이미지로 내보내기  /  한 번에 여러 파일 인쇄...

컨텐츠 편집: 일괄 찾기 및 바꾸기 여러 파일에 걸쳐  /  모든 사진 크기 조정  /  테이블 행과 열 바꾸기  /  표를 텍스트로 변환...

🧹 손쉬운 청소: 쓸어버리다 추가 공간  /  섹션 나누기  /  모든 헤더  /  텍스트 상자  /  하이퍼 링크  / 더 많은 제거 도구를 보려면 다음 페이지를 방문하세요. 그룹 제거...

광고 삽입물: 삽입 천 단위 구분 기호  /  확인란  /  라디오 버튼  /  QR 코드  /  바코드  /  대각선 표  /  방정식 캡션  /  이미지 캡션  /  테이블 캡션  /  여러 장의 사진  / 더 자세히 알아보세요. 그룹 삽입...

🔍 정밀한 선택: 핀포인트 특정 페이지  /  테이블  /  모양  /  제목 단락  / 탐색 기능 향상 배우기 기능 선택...

스타 강화: 어떤 위치로든 빠르게 이동  /  반복되는 텍스트 자동 삽입  /  문서 창 간을 원활하게 전환합니다.  /  11 변환 도구...

👉 이러한 기능을 사용해 보고 싶으신가요? Word 용 Kutools는 다음을 제공합니다. 60 일 무료 사용, 제한 없음! 🚀
 
Comments (15)
Rated 4.5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Can you help me it is not working can you helphttps://1drv.ms/w/s!Aja8bo-tfhqb-FVWcGUyvYPv07cX?e=lgJ4i1
This comment was minimized by the moderator on the site
Hi, mình chạy đoạn code trên nhưng không thấy ra kết quả giống bài viết, mình dùng word 2019, Ad support giúp mình nhé 
This comment was minimized by the moderator on the site
Hi, can anyone please suggest me to prepare a macro in ms word for finding error in paragraph.
Like:- "and or" "that that" "of the of the" "Sentence end without dot (.)" "New Sentence start with initial caps without ending the sending".
This comment was minimized by the moderator on the site
Thanks so much.A very valuable article, helped me with my duplicate copies and paste paragraphs!You are awesome.
This comment was minimized by the moderator on the site
Tried this for my book in MS Word. First, it would not work because I had bullet points. I removed them and then it only found 2 instances "blank page" and "table of contents". I purposely have several sentences repeated, and this macro did not find them. Thank you for trying, but I would say this doesn't work.
This comment was minimized by the moderator on the site
I had a very long document to process, the code above would take at least 100 days to finish and blocked everything while working at it. The main culprit is the "Set xRng = .Paragraphs(J).Range" which is very slow. I did an alternative version which ran in just 4 hours and presents a continuous report on the processing status and time to end. (To see the report in real time you have to open the "immediate window" by pressing Ctrl+G in the Microsoft Visual Basic for Applications window.) The code works well, except that it predicts a longer time to end than is actually the case (depends on the document). The code is as follows:

Sub highlightdup()
Dim StartTime, SecondsElapsed As Date
Dim secondsPerComparison As Double
Dim I, J, PC, totalComparisons, comparisonsDone, C, secondsToFinish As Long
Dim xRngFind, xRng As Range
Dim xStrg, minutesToFinish As String
Dim currentParag, nextParag As Paragraph
'Options.DefaultHighlightColorIndex = wdYellow
Application.ScreenUpdating = False
With ActiveDocument
StartTime = Now()
C = 0
PC = .Paragraphs.Count
totalComparisons = CLng((PC * (PC + 1)) / 2)
Set currentParag = .Paragraphs(1)
For I = 1 To PC - 1
'Debug.Print "processing paragraph " & I & " of a total of " & PC & " " & currentParag.Range.Text
'Debug.Print Len(currentParag) & currentParag
If currentParag.Range.HighlightColorIndex <> wdYellow Then
If currentParag.Range.HighlightColorIndex <> wdBrightGreen Then
Set nextParag = currentParag
For J = I + 1 To PC
Set nextParag = nextParag.Next
If currentParag.Range.Text = nextParag.Range.Text Then
currentParag.Range.HighlightColorIndex = wdBrightGreen
nextParag.Range.HighlightColorIndex = wdYellow
Debug.Print "found one!! " & " I = " & I & " J = " & J & nextParag.Range.Text
End If
Next
End If
End If
DoEvents
comparisonsDone = PC * (I - 1) + (J - I)
SecondsElapsed = DateDiff("s", StartTime, Now())
secondsPerComparison = CLng(SecondsElapsed) / comparisonsDone
secondsToFinish = CLng(secondsPerComparison * (totalComparisons - comparisonsDone))
minutesToFinish = Format(secondsToFinish / 86400, "hh:mm:ss")
elapsedTime = Format(SecondsElapsed / 86400, "hh:mm:ss")
Debug.Print "Finished procesing paragraph " & I & " of " & PC & ". Elapsed time = " & elapsedTime & ". Time to finish = " & minutesToFinish
Set currentParag = currentParag.Next
Next
End With
End Sub
This comment was minimized by the moderator on the site
Hi there! Thank you so much for this code. When I first tried to use it there was a syntax error that kept popping up. But, upon looking at the above code and this code I found a way to make it work and I figured it might help someone else: (Just follow the instructions above but copy and paste this instead) if you're finding yours is having a Syntax error like mine.

PC = .Paragraphs.Count
totalComparisons = CLng((PC * (PC + 1)) / 2)
Set currentParag = .Paragraphs(1)
For I = 1 To PC - 1
'Debug.Print "processing paragraph " & I & " of a total of " & PC & " " & currentParag.Range.Text
'Debug.Print Len(currentParag) & currentParag
If currentParag.Range.HighlightColorIndex <> wdYellow Then
If currentParag.Range.HighlightColorIndex <> wdBrightGreen Then
Set nextParag = currentParag
For J = I + 1 To PC
Set nextParag = nextParag.Next
If currentParag.Range.Text = nextParag.Range.Text Then
currentParag.Range.HighlightColorIndex = wdBrightGreen
nextParag.Range.HighlightColorIndex = wdYellow
Debug.Print "found one!! " & amp; " I = " & amp; I & amp; " J = " & amp; J & amp; nextParag.Range.Text
End If
Next
End If
End If
DoEvents
comparisonsDone = PC * (I - 1) + (J - I)
SecondsElapsed = DateDiff("s", StartTime, Now())
secondsPerComparison = CLng(SecondsElapsed) / comparisonsDone
secondsToFinish = CLng(secondsPerComparison * (totalComparisons - comparisonsDone))
minutesToFinish = Format(secondsToFinish / 86400, "hh:mm:ss")
elapsedTime = Format(SecondsElapsed / 86400, "hh:mm:ss")
Debug.Print "Finished procesing paragraph " & amp; I & amp; " of " & amp; PC & amp; ". Elapsed time = " & amp; elapsedTime & amp; ". Time to finish = " & amp; minutesToFinish
Set currentParag = currentParag.Next
Next
End With
End Sub
Rated 4.5 out of 5
This comment was minimized by the moderator on the site
Thank you, you saved my day already twice. This work like magic.
This comment was minimized by the moderator on the site
thank you very much, it works perfectly and very quickly !

Paul (from France)
This comment was minimized by the moderator on the site
Sir, kindly thank you and please have good winds in your life.
This comment was minimized by the moderator on the site
Hello



Thank you for the helping



But how can I find the same sentences in my text?



Regards
This comment was minimized by the moderator on the site
Hello

Thank you for the helping

But how can I find the same sentences in my text?

Regards
This comment was minimized by the moderator on the site
It throws Compile error: Syntax error, the code is 100% as the example.
This comment was minimized by the moderator on the site
I tried, and it works fine!
I just wanted to know - could I do the same thing - but not a whole paragraph, but a sentence with a few words I'd set up - like 10 words?
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations