Cum să extrageți conținut între două cuvinte specifice dintr-un document Word în altul

În acest articol, vă vom arăta modalitatea de a extrage conținut între două cuvinte specifice dintr-un document Word în altul.Extrageți conținutul între două cuvinte specifice dintr-un document Word în altul

Din când în când, va trebui să extrageți conținut între anumite cuvinte în unele ocazii. Iată 2 cazuri posibile în care vă puteți întâlni:

  1. În primul rând, într-un tabel Word, pentru toate celulele dintr-o coloană care încep și se termină cu aceleași 2 cuvinte, poate fi necesar să extrageți doar partea din mijloc diferită, cum ar fi mai jos:   Extrageți conținutul tabelului
  2. În al doilea rând, în unele fișiere jurnal cu mai multe intrări, probabil că va trebui să extrageți doar pe cele de care aveți nevoie. Apoi puteți specifica primul și ultimul cuvânt și puteți folosi metoda din acest articol pentru a obține conținutul de care aveți nevoie.

Pentru a realiza o astfel de sarcină, preferăm să rulăm o macrocomandă Word. Doar urmați acești pași.

Extrageți conținutul între două cuvinte

  1. În primul rând și înainteost, apăsați „Alt+ F11” pentru a deschide editorul VBA în Word.
  2. Apoi faceți clic pe proiect „Normal” din coloana din stânga.
  3. Apoi faceți clic pe fila „Inserare” din bara de meniu.
  4. Alegeți „Modul” din meniul derulant.Faceți clic pe „Normal” -> Faceți clic pe „Inserare” -> Faceți clic pe „Modul”
  5. Faceți dublu clic pentru a intra în spațiul de codare al noului modul și lipiți aceste coduri acolo:
Sub ExtractContentsBetweenTwoWords() Dim strFirstWord As String Dim strLastWord As String Dim objDoc As Document Dim objDocAdd As Document Dim objRange As Range ' Inițializați și creați un nou document gol. Set objDoc = ActiveDocument Set objDocAdd = Documents.Add objDoc.Activate ' Introduceți primul și ultimul cuvânt. strFirstWord = InputBox("Introduceți primul cuvânt:", "First Word") strLastWord = InputBox("Introduceți ultimul cuvânt:", "Last Word") ' Găsiți și extrageți conținutul și introduceți-l în noul document. Cu selecție .HomeKey Unit:=wdStory Cu selecție.Find .ClearFormatting .Text = strFirstWord & "*" & strLastWord .MatchWildcards = True .MatchWholeWord = True Do While .Execute Selection.MoveStart Unit:=wdCharacter, Count:=Len(strFirstWord) Selection.MoveEnd Unit:=wdCharacter, Count:=-Len(strLastWord) objDocAdd.Range.InsertAfter Selection.Range & vbNewLine Selection.Collapse wdLoop EndCollapse With End End
  1. Apoi faceți clic pe „Run” sau apăsați „F5” pentru a executa coduri.Lipiți coduri-> Faceți clic pe „Run”
  2. În caseta de introducere „Primul cuvânt”, introduceți primul cuvânt. Amintiți-vă că macro-ul diferențiază majuscule și minuscule. Deci, inițializați cuvântul dacă este necesar.
  3. Apoi faceți clic pe „OK” pentru a merge la caseta „Ultimul cuvânt”.Introduceți primul cuvânt -> faceți clic pe "OK"
  4. În mod similar, introduceți cuvântul și faceți clic pe „OK”. Nu uitați să urmați aceeași regulă de inițializare a cuvântului conform.

Va fi deschis un nou document și tot conținutul extras va apărea acolo.Extrageți conținutul între 2 cuvinte

Extrageți conținutul între paranteze

După cum am menționat, unele conținuturi sunt între paranteze. Atunci iată ce poți face:

  1. Pentru a stardezactivat, trebuie să urmați pașii de mai sus pentru a instala și rula o macrocomandă.
  2. Acum, în funcție de tipul de paranteză, puteți alege macrocomanda corespunzătoare de mai jos:

Pentru bretele {}:

Sub ExtractContentsInBraces() Dim objDoc As Document Dim objDocAdd As Document Dim objRange As Range Set objDoc = ActiveDocument Set objDocAdd = Documents.Add objDoc.Activate With Selection .HomeKey Unit:=wdStory With Selection.Find .ClearplaceRematting.T. „\{(*)\}” .MatchWildcards = True Do While .Execute Selection.MoveStart Unit:=wdCharacter, Count:=1 Selection.MoveEnd Unit:=wdCharacter, Count:=-1 objDocAdd.Range.InsertAfter Selection.Range & vbNewLine Selection.Collapse wdCollapseEnd Loop End With End With End Sub
  1. Pentru paranteze drepte [ ]:

Doar înlocuiți această linie de cod:

.Text = „\{(*)\}”

Cu:

.Text =\[(*)\]
  1. Apoi pentru Paranteze():

Înlocuiți aceeași linie de cod la pasul 3 cu:

.Text = „\((*)\)”
  1. Și pentru paranteze unghiulare<>:

Folosiți această linie în schimb:

.Text = „\<(*)\>”

Gestionați un dezastru de date

Într-un Word extrem de conectat ca al nostru, este vital să ținem cont de siguranța datelor tot timpul. Mai mult, trebuie să știi ce să faci în vremuri de dezastru de date. Și cea mai bună alegere este să obțineți un reparație docx instrument.

Introducerea autorului:

Vera Chen este expertă în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv recuperare xls și pdf repararea produselor software. Pentru mai multe informații vizitați www.datanumen.com

2 răspunsuri la „Cum să extrageți conținut între două cuvinte specifice dintr-un document Word în altul”

  1. Hi there!

    Mi se pare foarte util articolul tau, multumesc ca l-ai scris!

    Mă întrebam dacă există o modalitate de a insera un al treilea argument, de exemplu „.Text = strFirstWord & “*” & strSecondWord & “*” & strLastWord”?
    Practic, am un text foarte lung în care unele propoziții start cu un singur cuvânt și termin întotdeauna cu Chr(13), dar le vreau doar pe cele în care un al treilea cuvânt (strSecondWord de sus) este o liniuță („-“).
    De exemplu, vreau doar cuvinte de genul acesta: „Figura 1.2 – Numele figurii”, și nu vreau: „… așa cum vedem în figura 1.2, etc.”.
    După cum puteți vedea, am întotdeauna un șir „cifră” la început, apoi un număr întreg, apoi „-“, apoi numele figurii și în sfârșit am un Chr(13).

    În plus, pe măsură ce v-am îmbogățit codul pentru a obține numărul de pagină al propoziției pe care o extrag, mă întrebam dacă există o modalitate de a mă asigura că între propoziția extrasă și numărul paginii există întotdeauna liderul de filă și că propoziția se potrivește exact într-o singură linie?

    Multumesc mult pentru ajutor!! Am economisit mult timp 🙂

    O zi plăcută

Lasă un comentariu

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate *