Suche/Ersetze nach Abfrage
Aufgabe: In einem Word-Dokument sind verschiedene Fußnoten (keine „echten” Fußnoten, sondern einfacher Text), die unterschiedliche Tags bekommen sollen. Also, die Fußnote 1) soll einen Tag mit der ID f1 bekommen, die Fußnote 2) einen Tag mit der ID f2, die Fußnote * soll den Tag mit der ID f3 bekommen usw. Dies kann durch einen simplen Suche/Ersetze-Vorgang in Word erreicht werden:
Suche: 1), ersetze mit: <FnR RefID=f1>1)</FnR>
Um diesen Vorgang auch für Benutzer, die im Umgang mit Word sehr unerfahren sind komfortabel zu gestalten und um sich das lästige Eintippen des kompletten Tags zu ersparen, habe ich ein Makro erstellt.
Die Userform beinhaltet folgendes:
Private Sub Abbrechen_Click()
Unload Fussnoten
End Sub
Private Sub Ersetze_Change()
End Sub
Private Sub OK_Click()
FussnotenTags
End Sub
Private Sub Suche_Change()
End Sub
Folgendes Makro ruft die Userform auf:
Sub FussnotenAbfrage()
Fussnoten.Show vbModeless
End Sub
Dieses Makro verarbeitet die eingegebenen Angaben:
Sub FussnotenTags()
strSuche = Fussnoten.Suche.Text
strErsetze = Fussnoten.Ersetze.Text
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = strSuche & "^t"
.Replacement.Text = "<FnR RefID=" & strErsetze & ">" & strSuche & "</FnR>"
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
Unload Fussnoten
End Sub
Kritische Stellen (je nach Dokument) sind jedoch leider noch vorhanden:
Da man bei einer Suche nach Zahlen oder Zeichen, aus denen eine klassische Fußnote ja besteht, nicht die Option “ganzes Wort” aktivieren kann, bzw. die Einstellung .MatchWholeWord = True keine Auswirkung hat, muss zuerst nach zweistelligen Fußnoten gesucht werden und dann nach einstelligen.
Außerdem habe ich die Suche eingeschränkt, so dass nach dem gesuchten Zeichen ein Tabstopp folgen muss. Damit verhindere ich, dass das Makro die Fußnote „11)” noch einmal findet, wenn danach nach der Fußnote „1)” gesucht wird. Diese Abgrenzung könnte je nach Dokument natürlich auch ein Leerschritt, Punkt o. ä. sein.
Keine Kommentare »
Noch keine Kommentare.
RSS-Feed für Kommentare zu diesem Artikel. | TrackBack URI

