2 snelle manieren om zinnen met specifieke tekst in uw woord te zoeken of te verwijderen

In dit artikel bieden we u 2 snelle manieren om zinnen met specifieke tekst in uw Word te zoeken of te verwijderen.

Het is algemeen bekend dat we in Word de functie 'Zoeken en vervangen' kunnen gebruiken om gemakkelijk alle voorkomende gevallen van specifieke woorden te vinden. Vervolgens kunnen we deze zonder problemen markeren, vervangen of verwijderen. Zoals u ziet, is het doel een woord of een woordgroep. Vandaag laten we u echter graag de macro-methode zien om zinnen te vinden of te verwijderen die bepaalde tekst bevatten.Zoek of verwijder zinnen die specifieke tekst bevatten

Methode 1: zinnen zoeken of verwijderen die specifieke tekst bevatten

  1. Druk om te beginnen op "Alt + F11" om de VBA-editor in Word te activeren.
  2. Maak vervolgens een nieuwe module aan door op "Normaal" te klikken.
  3. Klik vervolgens op "Invoegen" en kies "Module" om een ​​nieuwe op te halen.Klik op "Normaal" -> Klik op "Invoegen" -> Klik op "Module"
  4. En open de module met dubbelklik.
  5. Plak nu de volgende codes:
Sub DeleteSentencesContainingSpecificWords()
  Dim strTexts As String
  Dim strButtonValue As String
 
  strTexts = InputBox("Enter texts to be found here: ")
 
  With Selection
    .HomeKey Unit:=wdStory
 
    '  Find the entered texts.
    With Selection.Find
      .ClearFormatting
      .Text = strTexts
      .Replacement.Text = ""
      .Forward = True
      .Wrap = wdFindContinue
      .Format = False
      .MatchCase = False
      .MatchWholeWord = False
      .MatchWildcards = False
      .MatchSoundsLike = False
      .MatchAllWordForms = False
      .Execute
    End With
 
    Do While .Find.Found = True
      '  Expand the selection to the entire sentence.
      Selection.Expand Unit:=wdSentence
      strButtonValue = MsgBox("Are you sure to delete the sentence?", vbYesNo)
      If strButtonValue = vbYes Then
        Selection.Delete
      End If
      .Collapse wdCollapseEnd
      .Find.Execute
    Loop
  End With
End Sub
  1. Klik vervolgens op "Uitvoeren".Plak Codes-> Klik op "Uitvoeren"
  2. Er zal een invoerveld zijn waarin u wordt gevraagd tekst in te voeren. Typ gewoon de gewone tekst die alle zinnen bevatten. Klik OK".Voer teksten in-> klik op "OK"
  3. Vervolgens ziet u een zin met de geselecteerde tekst met een berichtvenster dat wordt gevraagd. Klik op "Ja" om de zin te verwijderen en op "Nee" om deze te behouden.Klik op "Ja" of "Nee" om de actie te bevestigen
  4. Na de bevestiging wordt de volgende zin met de betreffende tekst geselecteerd. Ook hier verschijnt een bevestigingsvenster. De macro leidt je dus door het hele document, zoekt de doelzinnen op en vraagt ​​telkens om je bevestiging.

Methode 2: Zoek of verwijder zinnen die tekst in een lijst bevatten

Met de macro in methode 1 kunt u slechts naar één woord of zin per keer zoeken. U kunt de macro natuurlijk herhaaldelijk uitvoeren om te zoeken naar meerdere exemplaren van woorden of woordgroepen. Om aan de behoefte van meervoudig zoeken te voldoen, bieden we u een andere macro.

  1. Plaats eerst alle doelteksten in een nieuw document. Zorg ervoor dat elk tekstgedeelte één alinea beslaat, zonder spaties aan het einde. Sluit en sla het document op.
  2. Installeer en voer vervolgens een macro uit met de exacte stappen in methode 1.
  3. Vervang vervolgens de macro door deze:
Sub DeleteSentencesContainingSpecificWordsOnAList()
  Dim objListDoc As Document, objTargetDoc As Document
  Dim objParaRange As Range
  Dim objParagraph As Paragraph
  Dim strFileName As String, strButtonValue As String
  Dim dlgFile As FileDialog
 
  Set dlgFile = Application.FileDialog(msoFileDialogFilePicker)
 
  With dlgFile
    If .Show = -1 Then
      strFileName = .SelectedItems(1)
    Else
      MsgBox "No file is selected! Please select the target file."
      Exit Sub
    End If
  End With
  Set objTargetDoc = ActiveDocument
  Set objListDoc = Documents.Open(strFileName)
  objTargetDoc.Activate
 
  For Each objParagraph In objListDoc.Paragraphs
    Set objParaRange = objParagraph.Range
    objParaRange.End = objParaRange.End - 1
 
    With Selection
      .HomeKey Unit:=wdStory
 
      '  Find target words.
      With Selection.Find
        .ClearFormatting
        .Text = objParaRange
        .MatchWholeWord = True
        .MatchCase = False
        .Execute
      End With
 
      '  Expand the selection to the entire sentence.
      Do While .Find.Found
        Selection.Expand Unit:=wdSentence
        strButtonValue = MsgBox("Are you sure to delete the sentence?", vbYesNo)
        If strButtonValue = vbYes Then
          Selection.Delete
        End If
        .Collapse wdCollapseEnd
        .Find.Execute
      Loop
    End With
  Next objParagraph
End Sub
  1. Nu wordt het venster "Bladeren" geopend. Kies het document dat zojuist is opgeslagen en klik op "Openen".
  2. De volgende procedure is dezelfde als die in methode 1.

Aanpak om met corrupte documenten om te gaan

Verlies van waardevolle gegevens is absoluut verwoestend. Het kan zelfs uw bedrijf op het spel zetten. Om dergelijke frustratie te voorkomen, moet u een Word-oplossing tool zo snel mogelijk. Zo'n tool zal u helpen de strijd met documentcorruptie te winnen.

Auteur Introductie:

Vera Chen is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder Excel repareren en pdf reparatie softwareproducten. Voor meer informatie bezoek www.datanumen.com

Reacties zijn gesloten.