In diesem Artikel bieten wir Ihnen zwei schnelle Möglichkeiten, Sätze zu finden oder zu löschen, die bestimmten Text in Ihrem Wort enthalten.
Es ist allgemein bekannt, dass man mit der Funktion „Suchen und Ersetzen“ in Word alle Vorkommen bestimmter Wörter leicht finden kann. Anschließend lassen sie sich problemlos markieren, ersetzen oder löschen. Wie Sie sehen, ist das Ziel ein Wort oder eine Wortgruppe. Heute möchten wir Ihnen jedoch eine Makro-Methode vorstellen, mit der Sie Sätze, die einen bestimmten Text enthalten, finden oder löschen können.
Methode 1: Suchen oder Löschen von Sätzen, die bestimmten Text enthalten
- Drücken Sie zunächst „Alt + F11“, um den VBA-Editor in Word auszulösen.
- Erstellen Sie als Nächstes ein neues Modul, indem Sie auf "Normal" klicken.
- Klicken Sie dann auf "Einfügen" und wählen Sie "Modul", um ein neues zu erhalten.
- Und öffnen Sie das Modul mit einem Doppelklick.
- Fügen Sie nun die folgenden Codes ein:
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
- Klicken Sie anschließend auf "Ausführen".
- Es wird ein Eingabefeld angezeigt, in dem Sie aufgefordert werden, Text einzugeben. Geben Sie einfach den allgemeinen Text ein, den alle Sätze enthalten. OK klicken".
- Dann sehen Sie einen Satz, der den Text in Auswahl enthält, und ein Meldungsfeld wird angezeigt. Klicken Sie auf "Ja", um den Satz zu löschen, und auf "Nein", um ihn beizubehalten.
- Nach der Bestätigung wird der nächste Satz mit dem markierten Text ausgewählt. Auch hier erscheint ein Bestätigungsfeld. Das Makro führt Sie also Schritt für Schritt durch das gesamte Dokument, findet die Zielsätze und fragt Sie jedes Mal nach Ihrer Bestätigung.
Methode 2: Suchen oder Löschen von Sätzen, die Text in einer Liste enthalten
Mit dem Makro in Methode 1 können Sie jeweils nur nach einem Wort oder einer Phrase suchen. Natürlich können Sie das Makro wiederholt ausführen, um nach mehreren Instanzen von Wörtern oder Phrasen zu suchen. Um die Notwendigkeit einer Mehrfachsuche zu erfüllen, stellen wir Ihnen ein weiteres Makro zur Verfügung.
- Fügen Sie zunächst alle Zieltexte in ein neues Dokument ein. Achten Sie darauf, dass jeder Textabschnitt einen eigenen Absatz ohne nachfolgende Leerzeichen einnimmt. Schließen und speichern Sie das Dokument.
- Als nächstes installieren und führen Sie ein Makro mit den genauen Schritten in Methode 1 aus.
- Ersetzen Sie dann das Makro durch dieses:
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
- Nun soll das Fenster "Durchsuchen" geöffnet werden. Wählen Sie das gerade gespeicherte Dokument aus und klicken Sie auf "Öffnen".
- Das folgende Verfahren ist das gleiche wie bei Methode 1.
Ansatz zum Umgang mit beschädigten Dokumenten
Der Verlust wertvoller Daten ist absolut verheerend. Es kann sogar Ihr Geschäft auf dem Spiel lassen. Um solche Frustrationen zu vermeiden, müssen Sie sich einen besorgen Wordfix Werkzeug so schnell wie möglich. Ein solches Tool soll Ihnen helfen, den Kampf gegen die Korruption von Dokumenten zu gewinnen.
Einführung des Autors:
Vera Chen ist eine Datenrettungsexpertin in DataNumen, Inc., das weltweit führend bei Datenwiederherstellungstechnologien ist, einschließlich Beheben Sie Excel und pdf Reparatur von Softwareprodukten. Für weitere Informationen besuchen Sie www.datanumen.com €XNUMX



