Microsoft Office 2016 - Wie kann ein Makro nur für ausgewählten Text angewendet werden?

364
Tomislav Lemal

Ich habe ein Makro erstellt, um mehrere Zeichen gleichzeitig zu ersetzen. Wenn ich es für das gesamte Dokument anwende und dann einen anderen Text in dasselbe Dokument einfüge, ist das Anwenden des gleichen Makros für neu eingefügten Text geeignet, aber der Rest des Textes, auf den Macro bereits angewendet wurde, wird durcheinander gebracht.

Ich dachte, das Problem wäre gelöst, wenn Makro nur für ausgewählten Text angewendet werden könnte und der Rest des Dokuments unangetastet bleiben würde.

Helfen Sie jemandem?

Grüße, Tom

0
Können Sie den Quellcode Ihres Makros zeigen? Die Lösung hängt davon ab, wie Sie mit dem Auswahlobjekt im Makro arbeiten. duDE vor 6 Jahren 0
Dies ist der Code: http://textuploader.com/dq37a Danke! Tomislav Lemal vor 6 Jahren 0

1 Antwort auf die Frage

2
duDE

Ändern Sie in Ihrem Makro .Wrap = wdFindContinue in .Wrap = wdFindStop :

' Macro1 Macro ' ' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "ä" .Replacement.Text = ChrW(257) .Forward = True .Wrap = wdFindContinue 
Es funktioniert nur, wenn ich den Text auswähle. Wenn jedoch kein Text ausgewählt ist (Mauszeiger blinkt), gilt er für das gesamte Dokument, beginnend an der Stelle, an der sich der Mauszeiger befindet (kein Text ausgewählt). Tomislav Lemal vor 6 Jahren 0
Meinten Sie nicht: "Ich dachte, das Problem wäre gelöst, wenn Makro nur für ausgewählten Text angewendet werden könnte"? duDE vor 6 Jahren 0
naja ... es wäre, aber ein kleines Upgrade wäre schön :) Tomislav Lemal vor 6 Jahren 0