Ignorieren von intelligenten Anführungszeichen beim Vergleichen von Text (Microsoft Word)
Lee hat ein Makro, das Absatz für Absatz zwei Dokumente vergleicht. Er braucht eine Möglichkeit, die Verwendung intelligenter Anführungszeichen innerhalb eines Absatzes zu ignorieren. Mit anderen Worten, wenn zwei Absätze in jeder Hinsicht ähnlich sind – außer einer verwendet intelligente Anführungszeichen und der andere nicht -, möchte Lee die Absätze immer noch als gleichwertig betrachten.
Der einfachste Weg, um mit dieser Situation umzugehen, besteht darin, einfach alle intelligenten Anführungszeichen durch reguläre Anführungszeichen zu ersetzen und dann den Vergleich durchzuführen. Angenommen, Ihr Makro durchläuft das Dokument und weist einer Variablen (z. B. sThisPar) den Text eines Absatzes zu, können Sie mithilfe dieses Codes intelligente Anführungszeichen im Text entfernen:
sThisPar = RepText(sThisPar, Chr(145), "'") sThisPar = RepText(sThisPar, Chr(146), "'") sThisPar = RepText(sThisPar, Chr(147), Chr(34)) sThisPar = RepText(sThisPar, Chr(148), Chr(34))
Diese Zeilen ersetzen die intelligenten Versionen von öffnenden und schließenden Anführungszeichen und Apostrophen durch ihre „einfachen“ Entsprechungen. Dieser Code basiert auf einer Funktion namens RepText, die in diesem Tipp nicht angezeigt wird. Die Routine ersetzt lediglich das Auftreten eines Textes durch einen anderen. In einigen Versionen von VBA können Sie stattdessen den Befehl Ersetzen verwenden, der in diese Versionen der Sprache integriert ist.
Während Sie gerade dabei sind, möchten Sie möglicherweise auch andere wortspezifische Zeichen durch ihre einfachen Entsprechungen ersetzen. Die folgenden Zeilen ersetzen jeweils Bindestriche, Bindestriche und Ellipsen.
sThisPar = RepText(sThisPar, Chr(150), "-") sThisPar = RepText(sThisPar, Chr(151), "--") sThisPar = RepText(sThisPar, Chr(133), "...")
Sobald die Ersetzungen abgeschlossen sind, können Sie den Text in den Absätzen mit viel mehr Sicherheit vergleichen.
Wenn Sie Ihren Makrocode aus irgendeinem Grund nicht ändern können, möchten Sie möglicherweise einfach die intelligenten Anführungszeichen in Ihren Dokumenten durch reguläre Anführungszeichen ersetzen, bevor Sie das Makro ausführen. Öffnen Sie das Dokument, deaktivieren Sie automatische intelligente Anführungszeichen (im Dialogfeld „Automatische Korrektur“) und führen Sie dann zwei Such- und Ersetzungsvorgänge aus, um zunächst jedes Anführungszeichen durch ein Anführungszeichen zu ersetzen (geben Sie das Anführungszeichen in die Felder „Was suchen“ und „Ersetzen durch“ ein) zweitens, um jedes Apostroph durch ein Apostroph zu ersetzen. Sie können dann Ihre Makros ausführen und der Vergleich sollte reibungsloser verlaufen.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.
(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (5411) gilt für Microsoft Word 97, 2000, 2002 und 2003. Sie finden eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Word (Word 2007) und später) hier: