Word 2000: Übernommene Makros streiken


Aufgrund geänderter Suchcodes laufen einige Makros nicht, die für Word 97 erstellt wurden.

In der neuen VBA-Version 6.0 vom MS Office 2000 haben die Entwickler einige Codes für spezielle Dokumentelemente geändert, die in der Suchen-und-Ersetzen-Funktion eingesetzt werden. Dadurch kommt es unweigerlich zu Problemen, wenn Sie Makros aus MS Office 97 in die aktuelle Version übernehmen, die solche Codes enthalten.

Ein Beispiel: Ein für Word 97 erstelltes VBA-Listing enthält eine Funktion, um Absatzmarken (¶) zu suchen und zu ersetzen. Die entsprechende Anweisung sieht beispielsweise so aus:

With Selection.Find
.Text = "^a"
> .Replacement.Text = "^a^a"
End With
Selection.Find.Execute Replace: = wdReplaceAll

Führen Sie ein Listing mit einer solchen Anweisung in Word 2000 aus, werden die Absatzmarken nicht gefunden.

Steht dabei - wie in diesem Beispiel - der Zeichencode ^a auch in der Zeile .Replacement.Text = , um Absatzmarken in das Dokument einzufügen, erhalten Sie zusätzlich einen Laufzeitfehler.

Verantwortlich für diese Probleme ist die Änderung der Suchcodes: Unter VBA 6.0 ist der Code für Absatzmarken nicht mehr ^a, sondern ^p.

Damit ein entsprechendes Makro auch unter Word 2000 läuft, öffnen Sie das Listing hier im VBA-Editor und ersetzen alle Codes ^a durch ^p. Anschließend funktioniert das Makro wie gewohnt.


Die folgende Tabelle bietet eine Übersicht aller Suchcodes, die sich geändert haben. Wie Sie hier sehen, steht der Zeichencode ^a unter VBA 6 jetzt stellvertretend für ein Kommentarzeichen. Eine komplette Übersicht der Zeichen finden Sie in der VBA-Hilfe unter dem Suchbegriff Execute-Methode (Find-Objekt).


VBA 6.0: Geänderte Suchcodes

Hier finden Sie eine Übersicht der geänderten Spezialcodes für die Suchen-und-Ersetzen-Funktion in Makros.

Element MS Office 97 MS Office 2000
Absatzmarke (¶) ^a ^p
Geschütztes Leerzeichen ^g ^s
Geschützter Trennstrich ^_ ^~
Kommentarzeichen ^5 ^a
Grafik ^r ^g
Leerfläche ^l ^w
Manueller Zeilenwechsel ^z ^l

  Zurück zur Liste
Erschienen in: PC Magazin, Ausgabe 03/2000