Note: The other languages of the website are Google-translated. Back to English

Kako najti in poudariti podvojene odstavke v dokumentu Word?

Recimo, da imate velik Wordov dokument, ki ima lahko na stotine strani, zdaj želite preveriti, ali obstajajo podvojeni odstavki, in nato poudariti, da bodo izjemni, da boste lahko obravnavali podvojene stavke. Kako lahko v Wordovem dokumentu hitro in enostavno najdete in poudarite podvojene odstavke?

Poiščite in označite podvojene odstavke v dokumentu Word s kodo VBA


Poiščite in označite podvojene odstavke v dokumentu Word s kodo VBA

Če želite poiskati in poudariti podvojene odstavke v Wordovem dokumentu, vam lahko naredite uslugo z naslednjo kodo VBA:

1. Držite tipko ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. In nato kliknite Vstavi > Moduli, kopirajte in prilepite spodnjo kodo v odprti prazen modul:

Koda VBA: Poiščite in označite podvojene odstavke v dokumentu 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. In nato pritisnite F5 za zagon te kode so vsi podvojeni stavki označeni naenkrat, prvi prikazani podvojeni odstavki so označeni z zeleno barvo, drugi dvojniki pa z rumeno barvo, glejte posnetek zaslona:

doc poudari dvojne stavke 1


Priporočena orodja za produktivnost besed

 

Kutools za Word - Več kot 100 naprednih funkcij za Word, prihranite 50% časa

  • Zapletene in ponavljajoče se operacije je mogoče enkrat obdelati v nekaj sekundah.
  • V Wordov dokument hkrati vstavite več slik v mape.
  • Združite in združite več datotek Word v mapah v eno z želenim vrstnim redom.
  • Trenutni dokument razdelite na ločene dokumente glede na naslov, prelom odseka ali druga merila.
  • Pretvarjanje datotek med dokumenti Doc in Docx, Docx in PDF, zbirka orodij za pogoste pretvorbe in izbiro itd. ...
Komentarji (15)
Ocenjeno 4.5 iz 5 · 1 ocene
Ta komentar je moderator na spletnem mestu minimiziral
Tentei e não funcionou, só da que parou de funcionar.
Ta komentar je moderator na spletnem mestu minimiziral
Poskušal sem in deluje dobro!
Želel sem samo vedeti – ali bi lahko naredil isto stvar – vendar ne celega odstavka, ampak stavka z nekaj besedami, ki bi jih postavil – na primer 10 besed?
Ta komentar je moderator na spletnem mestu minimiziral
Prikaže napako pri prevajanju: Sintaksna napaka, koda je 100-odstotna kot primer.
Ta komentar je moderator na spletnem mestu minimiziral
Živijo

Hvala za pomoč

Toda kako lahko najdem iste stavke v svojem besedilu?

S spoštovanjem
Ta komentar je moderator na spletnem mestu minimiziral
Živijo



Hvala za pomoč



Toda kako lahko najdem iste stavke v svojem besedilu?



S spoštovanjem
Ta komentar je moderator na spletnem mestu minimiziral
Imel sem zelo dolg dokument za obdelavo, zgornja koda bi trajala vsaj 100 dni za dokončanje in blokirala vse med delom. Glavni krivec je "Set xRng = .Paragraphs(J).Range", ki je zelo počasen. Naredil sem alternativno različico, ki je tekla v samo 4 urah in predstavlja neprekinjeno poročilo o stanju obdelave in času do konca. (Če si želite poročilo ogledati v realnem času, morate odpreti "takojšnje okno" s pritiskom na Ctrl+G v oknu Microsoft Visual Basic za aplikacije.) Koda deluje dobro, le da predvideva daljši čas do konca, kot je dejansko primer (odvisno od dokumenta). Koda je naslednja:

Sub highlightdup()
Dim StartTime, SecondsElapsed Kot datum
Dim secondsPerComparison As Double
Dim I, J, PC, skupaj Primerjave, primerjaveDokončano, C, sekunde do konca
Dim xRngFind, xRng As Range
Zatemni xStrg, minute za dokončanje kot niz
Zatemni trenutni odstavek, naslednji odstavek kot odstavek
'Options.DefaultHighlightColorIndex = wdYellow
Application.ScreenUpdating = Napačno
Z ActiveDocument
Začetni čas = zdaj ()
C = 0
PC = .Odstavki.Štev
skupno primerjav = CLng((PC * (PC + 1)) / 2)
Nastavi trenutniParag = .Odstavki(1)
Za I = 1 Za PC - 1
'Debug.Print "obdelava odstavka " & I & " od skupno " & PC & " " & currentParag.Range.Text
'Debug.Print Len(currentParag) & currentParag
Če currentParag.Range.HighlightColorIndex <> wdYellow Potem
Če currentParag.Range.HighlightColorIndex <> wdBrightGreen Potem
Nastavite naslednjiParag = trenutniParag
Za J = I + 1 Na PC
Nastavi naslednjiParag = naslednjiParag.Naslednji
Če je trenutniParag.Range.Text = naslednjiParag.Range.Text Potem
currentParag.Range.HighlightColorIndex = wdBrightGreen
nextParag.Range.HighlightColorIndex = wdYellow
Debug.Print "našel enega!! " & " I = " & I & " J = " & J & nextParag.Range.Text
Konec Če
Naslednji
Konec Če
Konec Če
DoEvents
primerjaveDokončano = PC * (I - 1) + (J - I)
SecondsElapsed = DateDiff("s", StartTime, Now())
secondsPerComparison = CLng(SecondsElapsed) / primerjaveDokončano
secondsToFinish = CLng(secondsPerComparison * (skupaj primerjav - primerjave opravljene))
minutesToFinish = Format(secondsToFinish / 86400, "hh:mm:ss")
elapsedTime = Format (Pretekli sekunde / 86400, "hh:mm:ss")
Odpravljanje napak. Natisni "Končana obdelava odstavka " & I & " od " & PC & ". Pretečeni čas = " & elapsedTime & ". Čas do konca = " & minute do konca
Nastavi trenutniParag = trenutniParag.Naslednji
Naslednji
Končaj s
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Gospod, prisrčno hvala in prosim, naj vam v življenju veje.
Ta komentar je moderator na spletnem mestu minimiziral
najlepša hvala, deluje odlično in zelo hitro!

Paul (iz Francije)
Ta komentar je moderator na spletnem mestu minimiziral
Hvala, že dvakrat si mi rešil dan. To deluje kot magija.
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo! Najlepša hvala za to kodo. Ko sem ga prvič poskusil uporabiti, se je vedno pojavljala sintaksična napaka. Toda ko sem pogledal zgornjo kodo in to kodo, sem našel način, kako to narediti, in ugotovil sem, da bi lahko pomagalo komu drugemu: (Samo sledite zgornjim navodilom, vendar kopirajte in prilepite to), če ugotovite, da ima vaša Sintaktična napaka, kot je moja.

PC = .Odstavki.Štev
skupno primerjav = CLng((PC * (PC + 1)) / 2)
Nastavi trenutniParag = .Odstavki(1)
Za I = 1 Za PC - 1
'Debug.Print "obdelava odstavka " & I & " od skupno " & PC & " " & currentParag.Range.Text
'Debug.Print Len(currentParag) & currentParag
Če currentParag.Range.HighlightColorIndex <> wdYellow Potem
Če currentParag.Range.HighlightColorIndex <> wdBrightGreen Potem
Nastavite naslednjiParag = trenutniParag
Za J = I + 1 Na PC
Nastavi naslednjiParag = naslednjiParag.Naslednji
Če je trenutniParag.Range.Text = naslednjiParag.Range.Text Potem
currentParag.Range.HighlightColorIndex = wdBrightGreen
nextParag.Range.HighlightColorIndex = wdYellow
Debug.Print "našel enega!! " & amp; " I = " & amp; jaz & amp; " J = " & amp; J & amp; nextParag.Range.Text
Konec Če
Naslednji
Konec Če
Konec Če
DoEvents
primerjaveDokončano = PC * (I - 1) + (J - I)
SecondsElapsed = DateDiff("s", StartTime, Now())
secondsPerComparison = CLng(SecondsElapsed) / primerjaveDokončano
secondsToFinish = CLng(secondsPerComparison * (skupaj primerjav - primerjave opravljene))
minutesToFinish = Format(secondsToFinish / 86400, "hh:mm:ss")
elapsedTime = Format (Pretekli sekunde / 86400, "hh:mm:ss")
Debug.Print "Končana obdelava odstavka" & amp; jaz & amp; "od " & amp; PC & amp; ". Pretečeni čas = " & amp; elapsedTime & amp; ". Čas do konca = " & amp; minute do konca
Nastavi trenutniParag = trenutniParag.Naslednji
Naslednji
Končaj s
End Sub
Ocenjeno 4.5 iz 5
Ta komentar je moderator na spletnem mestu minimiziral
Preizkusil sem to za svojo knjigo v MS Wordu. Prvič, ne bi šlo, ker sem imel naboje. Odstranil sem jih in nato je našel samo 2 primera "prazna stran" in "kazalo vsebine". Namenoma sem ponovil več stavkov, ta makro pa jih ni našel. Hvala za poskus, vendar bi rekel, da to ne deluje.
Ta komentar je moderator na spletnem mestu minimiziral
Najlepša hvala. Zelo dragocen članek, pomagal mi je z mojimi podvojenimi kopijami in lepljenjem odstavkov! Super ste.
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, ali mi lahko kdo predlaga, da pripravim makro v ms wordu za iskanje napake v odstavku.
Kot:- "in ali" "da to" "od" "Stavek se konča brez pike (.)" "Nov stavek se začne z začetnimi velikimi črkami, ne da bi končal pošiljanje".
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, koda mình chạy đoạn trên nhưng không thấy ra kết quả giống bài viết, mình dùng word 2019, Podpora za oglase giúp mìn 
Ta komentar je moderator na spletnem mestu minimiziral
Ali mi lahko pomagate, ne deluje, ali lahko pomagatehttps://1drv.ms/w/s!Aja8bo-tfhqb-FVWcGUyvYPv07cX?e=lgJ4i1
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL