DM-Zeichen mit Euro-Makro entfernen

Im WIN-Heft 9/98 haben Sie ein Makro vorgestellt, das einen Text nach Zahlen durchsucht und bei Bedarf durch die umgerechneten Beträge in Euro ersetzt. Dabei ergänzt das Makro zwar den Währungsnamen Euro, löscht aber die DM-Bezeichnungen nicht. Wie ändert man das Makro, um nicht jedesmal die DM-Zeichen von Hand löschen zu müssen?

Um das Problem zu lösen, bieten sich zwei Möglichkeiten an. Einerseits können Sie das Makro umschreiben und den Auswahlbereich, der sich ja nur auf Zahlen bezieht, auf das DM-Zeichen erweitern. Andererseits können Sie auf den Befehl Bearbeiten – Ersetzen zurückgreifen. Da der erste Weg ein ganz neues Makro erzeugt und recht komplex ist, stellt WIN den einfacheren zweiten Weg vor.
Um den Ersetzungsvorgang möglichst einfach zu gestalten und für sinnvolle Ergebnisse zu sorgen, sollten Sie zunächst überlegen, was genau zu ersetzen ist. Zwar soll der Text Euro erhalten bleiben, jedoch liefert erst die Text-Kombination Euro DM einen wirklichen Hinweis auf eine zu ändernde Textstelle. Sonst lautet zum Beispiel ein Satz wie äMit der Zeitung DM hatten wir viel Spaßô nach dem Ersetzen äMit der Zeitung hatten wir viel Spaßô.
Es gilt also, nach dem Text Euro DM zu suchen und ihn durch Euro zu ersetzen. So brauchen Sie das Makro nur um einige Befehle zu erweitern, um den richtigen Effekt zu erzielen. Setzen Sie zwischen die vorletzte End-With-Anweisung und die Zeile

With ActiveDocument.Bookmarks ("tmp") 
folgende Anweisungen ein:
Selection.HomeKey Unit:=wdStory¶
Selection.Find.Replacement.ClearFormatting¶
With Selection.Find¶
.Text = "Euro DM"¶
.Replacement.Text = "Euro"¶
.Forward = True¶
End With¶
Selection.Find.Execute Replace:=wdReplaceAll¶
Die erste Anweisung setzt die Einfügemarke an den Dokumentanfang. Die zweite initialisiert den Suchprozeß, in dem die darunter angegebenen Kriterien gelten: Der Text Euro DM ist durch Euro zu ersetzen. Da der Cursor am Anfang des Dokuments positioniert ist, erfolgt die Suche vorwärts. Die letzte Anweisung startet den Ersetzungsvorgang.
Nachdem das Makro alle entsprechenden Textstellen umgewandelt hat, arbeitet es wie bisher weiter: Die verbleibenden Zeilen des Ursprungsmakros dienen dazu, zur Ausgangsposition des Makroaufrufs zurückzukehren.
Um sicherzugehen, daß nicht versehentlich auch erwünschte Zeichenketten der Form Euro DM ersetzt werden, können Sie noch die Anweisung zum Einfügen des neuen Wertes im ursprünglichen Makro so abwandeln:
.Text = Format (cEuroBetrag, "#,###.##") & " %E$"¶