Sahanya

Sonntag, 05. 06. 2005

Suche/Ersetze nach Abfrage

Abgelegt unter: — Sahanya @ 12:11

Fußnoten 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

Einen Kommentar hinterlassen

XHTML (folgende Tags sind erlaubt): <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> . Kommentar-Vorschau ist aktiviert (Javascript wird benötigt).

Live-Vorschau:

 

Powered by WordPress | Angepasst von: www.vlad-design.de