Sahanya

Sonntag, 05. 06. 2005

Suche/Ersetze nach Abfrage

Filed under: — 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.

Entschuldige, das Kommentarformular ist zurzeit geschlossen.

 

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