Ersetzen von Text in einem Makro (Microsoft Word)
Wenn Sie Makros schreiben, arbeiten Sie wahrscheinlich viel mit Zeichenfolgenvariablen. Eine häufige Operation in Bezug auf Zeichenfolgenvariablen ist die Notwendigkeit, ein Vorkommen von Zeichen in einer Zeichenfolge durch ein anderes Vorkommen zu ersetzen. Betrachten Sie beispielsweise die folgende Zeichenfolge:
"This is my string of characters."
Möglicherweise möchten Sie „von“ durch ein anderes Wort ersetzen, z. B. „das hat“.
Die folgende Allzweckfunktion kann genau das und noch viel mehr:
Function RepText(sIn As String, sFind As String, sRep As String) As String Dim x As Integer x = InStr(sIn, sFind) While x > 0 sIn = Left(sIn, x - 1) & sRep & Mid(sIn, x + Len(sFind)) x = InStr(sIn, sFind) Wend RepText = sIn End Function
Als Beispiel für die Verwendung der Funktion können Sie Folgendes tun:
sTemp = "This is my string of characters." sTemp = RepText(sTemp, "of", "that has")
Wenn dieser Code ausgeführt wird, enthält sTemp die Zeichenfolge „Dies ist meine Zeichenfolge mit Zeichen.“
In meinen Routinen verwende ich häufig eine Funktion wie RepText, um zusätzliche Leerzeichen zu entfernen (Ersetzen einer Zeichenfolge mit zwei Leerzeichen durch eine Zeichenfolge mit einem Leerzeichen)
oder Ersetzen mehrerer Leerzeichen durch ein Tabulatorzeichen. Wie Sie es verwenden, liegt natürlich ganz bei Ihnen.
Diejenigen, die nur die neuesten Versionen von VBA verwendet haben, sind möglicherweise neugierig, warum ich eine Funktion wie RepText anstelle der integrierten Ersetzungsfunktion verwenden würde. Während die Ersetzen-Funktion im Wesentlichen dasselbe tut wie RepText, ist ihre Hinzufügung zum VBA-Arsenal ein relativ neues Ereignis. Wenn Ihre Makros auch nur die geringste Möglichkeit haben, in älteren Word-Versionen verwendet zu werden, besteht bei Verwendung von Ersetzen die Gefahr, dass Ihr Makro abstürzt. In diesen Versionen ist es nicht verfügbar.
_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 beliebteste Textverarbeitungssoftware der Welt.) Dieser Tipp (811) gilt für Microsoft Word 97, 2000, 2002 und 2003.