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

Ինչպե՞ս գտնել և ընդգծել Word փաստաթղթում կրկնօրինակ պարբերությունները:

Ենթադրելով, որ դուք ունեք մի մեծ Word փաստաթուղթ, որը կարող է ունենալ հարյուրավոր էջեր, այժմ դուք ցանկանում եք ստուգել, ​​թե արդյոք կան կրկնօրինակ պարբերություններ, այնուհետև կարևորել դրանք `դրանք չթողնելու համար, որպեսզի կարողանաք գործ ունենալ կրկնօրինակ նախադասությունների հետ: Ինչպե՞ս կարող եք արագ և հեշտությամբ գտնել և ընդգծել կրկնօրինակ պարբերությունները Word փաստաթղթում:

Գտեք և առանձնացրեք Word փաստաթղթում VBA կոդով կրկնօրինակ պարբերությունները


Գտեք և առանձնացրեք Word փաստաթղթում VBA կոդով կրկնօրինակ պարբերությունները

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 այս կոդն աշխատեցնելու բանալին, բոլոր կրկնօրինակ նախադասությունները միանգամից ընդգծվում են, առաջին ցուցադրվող կրկնօրինակ պարբերություններն ընդգծվում են կանաչ գույնով, իսկ մյուս կրկնօրինակները ՝ դեղին գույնով, տե՛ս նկարը.

doc ընդգծիր կրկնօրինակ նախադասություններ 1


Բառի արտադրողականության առաջարկվող գործիքներ

 

Kutools Word- ի համար. Word- ի ավելի քան 100 առաջադեմ առանձնահատկություններ, խնայեք ձեր 50% ժամանակը

  • Բարդ և կրկնվող գործողությունները կարող են կատարվել միանգամյա մշակմամբ վայրկյանների ընթացքում:
  • Տեղադրեք բազմաթիվ պատկերներ միանգամից թղթապանակների մեջ Word փաստաթղթում:
  • Միացրեք և միացրեք բազմաթիվ Word ֆայլեր թղթապանակների մեջ մեկում ՝ ձեր ցանկալի պատվերի հետ:
  • Ընթացիկ փաստաթուղթը բաժանեք առանձին փաստաթղթերի `ըստ վերնագրի, հատվածի ընդմիջման կամ այլ չափանիշների:
  • Փոխարկել ֆայլերը Doc- ի և Docx- ի, Docx- ի և PDF- ի միջև, ընդհանուր փոխակերպումների և ընտրության գործիքների հավաքածու և այլն ...
Տեսակավորել մեկնաբանությունները ըստ
մեկնաբանություններ (15)
Գնահատված 4.5- ը 5- ից դուրս է · 1 վարկանիշ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Tentei e não funcionou, só da que parou de funcionar.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես փորձեցի, և դա լավ է աշխատում:
Ես պարզապես ուզում էի իմանալ, որ ես կարո՞ղ եմ նույն բանն անել, բայց ոչ մի ամբողջ պարբերություն, այլ նախադասություն մի քանի բառով, որը ես կստեղծեի, օրինակ՝ 10 բառ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Այն նետում է Compile error. Syntax error, կոդը 100% է որպես օրինակ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ Ձեզ

Շնորհակալություն օգնության համար

Բայց ինչպե՞ս կարող եմ նույն նախադասությունները գտնել իմ տեքստում:

Regards
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ Ձեզ



Շնորհակալություն օգնության համար



Բայց ինչպե՞ս կարող եմ նույն նախադասությունները գտնել իմ տեքստում:



Regards
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես շատ երկար փաստաթուղթ ունեի մշակելու համար, վերը նշված կոդը ավարտելու համար կպահանջվեր առնվազն 100 օր և արգելափակեցի ամեն ինչ դրա վրա աշխատելիս: Հիմնական մեղավորը «Set xRng = .Paragraphs(J).Range»-ն է, որը շատ դանդաղ է ընթանում: Ես այլընտրանքային տարբերակ արեցի, որն աշխատեց ընդամենը 4 ժամում և ներկայացնում է շարունակական հաշվետվություն մշակման կարգավիճակի և ավարտի ժամանակի վերաբերյալ: (Զեկույցն իրական ժամանակում տեսնելու համար դուք պետք է բացեք «անմիջական պատուհանը»՝ սեղմելով Ctrl+G Microsoft Visual Basic հավելվածների պատուհանում:) Կոդը լավ է աշխատում, բացառությամբ, որ այն կանխատեսում է ավարտի ավելի երկար ժամանակ, քան իրականում: գործը (կախված է փաստաթղթից): Կոդը հետևյալն է.

Sub highlightdup ()
Մութ մեկնարկի ժամանակը, վայրկյաններ անցած որպես ամսաթիվ
Dim seconds PerComparison As Double
Dim I, J, PC, ընդհանուր Համեմատություններ, համեմատություններ Կատարված է, C, վայրկյաններ Ավարտել այնքան ժամանակ
Dim xRngFind, xRng As Range
Dim xStrg, minutesToFinish As String
Dim currentParag, nextParag Որպես պարբերություն
'Options.DefaultHighlightColorIndex = wdYellow
Դիմում. ScreenUpdating = Սուտ է
ActiveDocument- ի հետ
StartTime = Հիմա ()
C = 0
PC = .Paragraphs.Count
ընդհանուր Համեմատություններ = CLng ((PC * (PC + 1)) / 2)
Սահմանել currentParag = .Պարբերություններ(1)
I = 1-ի համար դեպի PC - 1
«Debug.Print «մշակող պարբերություն» & I & « ընդհանուր « & PC & « » & currentParag.Range.Text
«Debug.Print Len(currentParag) & currentParag
Եթե ​​currentParag.Range.HighlightColorIndex <> wdYellow Այնուհետեւ
Եթե ​​currentParag.Range.HighlightColorIndex <> wdBrightGreen Այնուհետեւ
Սահմանել nextParag = ընթացիկParag
J = I + 1 Համակարգչի համար
Սահմանել nextParag = nextParag.Next
Եթե ​​currentParag.Range.Text = nextParag.Range.Text Այնուհետեւ
currentParag.Range.HighlightColorIndex = wdBrightGreen
nextParag.Range.HighlightColorIndex = wdYellow
Debug.Print "found one!!" & "I = " & I & " J = " & J & nextParag.Range.Text
Վերջ: Եթե
հաջորդ
Վերջ: Եթե
Վերջ: Եթե
DoEvents
համեմատություններ Կատարված = PC * (I - 1) + (J - I)
SecondsElapsed = DateDiff("s", StartTime, Now())
secondsPerComparison = CLng(SecondsElapsed) / Համեմատություններ Կատարված է
secondsToFinish = CLng(secondsPerComparison * (ընդհանուր համեմատությունները - համեմատությունները Կատարված են))
minutesToFinish = Ձևաչափ (secondsToFinish / 86400, «hh:mm:ss»)
elapsedTime = Ձևաչափ (SecondsElapsed / 86400, «hh:mm:ss»)
Վրիպազերծել.Տպել «Ավարտված է մշակման պարբերությունը « & I & « of « & PC & ". Անցած ժամանակ = " & elapsedTime & ". Ավարտելու ժամանակը = " & րոպե Ավարտել
Սահմանել currentParag = currentParag.Next
հաջորդ
Վերջ
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Պարոն, սիրով շնորհակալություն եմ հայտնում և խնդրում եմ, որ ձեր կյանքում լավ քամիներ լինեն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
շատ շնորհակալ եմ, այն աշխատում է հիանալի և շատ արագ:

Պոլ (Ֆրանսիայից)
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շնորհակալություն, դու արդեն երկու անգամ խնայեցիր իմ օրը։ Այս աշխատանքը նման է մոգության:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն! Շատ շնորհակալ եմ այս կոդի համար: Երբ ես առաջին անգամ փորձեցի օգտագործել այն, շարահյուսական սխալ կար, որը անընդհատ հայտնվում էր: Բայց, նայելով վերը նշված ծածկագիրը և այս ծածկագիրը, ես գտա այն աշխատելու միջոց և հասկացա, որ դա կարող է օգնել մեկ ուրիշին. (Պարզապես հետևեք վերը նշված հրահանգներին, բայց փոխարենը պատճենեք և տեղադրեք սա), եթե գտնում եք, որ ձերն է Շարահյուսական սխալ, ինչպես իմը:

PC = .Paragraphs.Count
ընդհանուր Համեմատություններ = CLng ((PC * (PC + 1)) / 2)
Սահմանել currentParag = .Պարբերություններ(1)
I = 1-ի համար դեպի PC - 1
«Debug.Print «մշակող պարբերություն» & I & « ընդհանուր « & PC & « » & currentParag.Range.Text
«Debug.Print Len(currentParag) & currentParag
Եթե ​​currentParag.Range.HighlightColorIndex <> wdYellow Այնուհետեւ
Եթե ​​currentParag.Range.HighlightColorIndex <> wdBrightGreen Այնուհետեւ
Սահմանել nextParag = ընթացիկParag
J = I + 1 Համակարգչի համար
Սահմանել nextParag = nextParag.Next
Եթե ​​currentParag.Range.Text = nextParag.Range.Text Այնուհետեւ
currentParag.Range.HighlightColorIndex = wdBrightGreen
nextParag.Range.HighlightColorIndex = wdYellow
Debug.Print «գտա մեկը!!» & amp; «I =» & AMP; ես & AMP; «J =» & AMP; J & AMP; nextParag.Range.Text
Վերջ: Եթե
հաջորդ
Վերջ: Եթե
Վերջ: Եթե
DoEvents
համեմատություններ Կատարված = PC * (I - 1) + (J - I)
SecondsElapsed = DateDiff("s", StartTime, Now())
secondsPerComparison = CLng(SecondsElapsed) / Համեմատություններ Կատարված է
secondsToFinish = CLng(secondsPerComparison * (ընդհանուր համեմատությունները - համեմատությունները Կատարված են))
minutesToFinish = Ձևաչափ (secondsToFinish / 86400, «hh:mm:ss»)
elapsedTime = Ձևաչափ (SecondsElapsed / 86400, «hh:mm:ss»)
Debug.Print «Ավարտված մշակման պարբերություն» & amp; ես & AMP; «ի» & AMP; PC & AMP; ". Անցած ժամանակ = " & AMP; անցածTime & AMP; ". Ժամանակն է ավարտել = " & AMP; րոպե Ավարտել
Սահմանել currentParag = currentParag.Next
հաջորդ
Վերջ
Վերջ Sub
Գնահատված 4.5- ը 5- ից դուրս է
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Փորձեցի սա իմ գրքի համար MS Word-ում: Նախ, դա չէր աշխատի, քանի որ ես ունեի կետեր: Ես հեռացրեցի դրանք, և հետո գտա միայն 2 օրինակ «դատարկ էջ» և «բովանդակության աղյուսակ»: Ես միտումնավոր կրկնում եմ մի քանի նախադասություն, և այս մակրոն դրանք չգտավ: Շնորհակալություն փորձելու համար, բայց ես կասեի, որ սա չի աշխատում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շատ շնորհակալություն: Շատ արժեքավոր հոդված, որն ինձ օգնեց կրկնօրինակել և տեղադրել պարբերությունները: Դուք հիանալի եք:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, կարո՞ղ է որևէ մեկը առաջարկել ինձ պատրաստել մակրո ms word-ում պարբերության մեջ սխալ գտնելու համար:
Like:- «and or» «that that» «of the» «Sentence end without dot (.)» «New Sentence start start original caps with ending the send».
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, 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, Գովազդի աջակցություն giúp mình nhé 
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Կարող եք օգնել ինձ, դա չի աշխատում, կարող եք օգնելhttps://1drv.ms/w/s!Aja8bo-tfhqb-FVWcGUyvYPv07cX?e=lgJ4i1
Առայժմ ոչ մի մեկնաբանություն չկա
Թողեք ձեր մեկնաբանությունները
Հրապարակում որպես հյուր
×
Գնահատեք այս գրառումը.
0   Անձնավորություններ
Առաջարկվող վայրեր