Frage zu dem Befehl Replace

18/09/2009 - 11:14 von Susann Markward | Report spam
Hallo,

Ich möchte einen String von unbekannte Lànge und Inhalts derart
ausgeben, dass immer nur eine bestimmte maximale Anzahl von Zeichen in
einer Zeile stehen.
Wenn die obige Bedingung erfüllt ist, soll innerhalb des Strings nach
einem Leerzeichen gesucht werden, welches dann durch vbCrLf ersetzt
werden soll.
Nach dieser Ersetzung soll der String dann weiter ausgegeben werden.
Letztendlich soll es so aussehen wie der Blocksatz bei Microsoft Word.

Nun bin ich bei der Implementation mithilfe des Replace-Befehls auf
einen Fehler gestoßen, den ich mir nicht erklàren kann.

Bsp.

Text$ = "1234567890 1234567890 1234567890 1234567890 1234567890 " & _
"1234567890 1234567890 1234567890 1234567890 1234567890"

Die Variable Text soll derart umgestaltet werden, dass folgendes
herauskommt.

"1234567890 1234567890" & vbCrLf & _
"1234567890 1234567890 1234567890 " & _
"1234567890 1234567890 1234567890 1234567890 1234567890"

Warum bekomme ich dieses Ergebnis nicht mit

Replace(Mid(Text$, 1, Len(Text)), " ", vbCrLf, 15, 1, vbTextCompare)

Stattdessen bekomme ich

Text = "4567890" & vbCrLf & _
"1234567890 1234567890 1234567890 1234567890 1234567890 " & _
"1234567890 1234567890 1234567890

Er hat also wirklich nach 15 Zeichen nach einem Leerzeichen gesucht und
dieses ersetzt. Er hat aber die ersten 14 Zeichen verschluckt. Was ist
falsch?

MfG
Susann
 

Lesen sie die antworten

#1 Susann Markward
18/09/2009 - 11:28 | Warnen spam
Hallo,

*Susann Markward* schrieb am 18.09.2009 11:14:
Er hat also wirklich nach 15 Zeichen nach einem Leerzeichen gesucht und
dieses ersetzt. Er hat aber die ersten 14 Zeichen verschluckt. Was ist
falsch?



Hat sich erledigt. Ich hatte den letzten Teilsatz aus dem u.g. Zitat
falsch interpretiert.

,--
|Der Rückgabewert der Replace-Funktion ist eine Zeichenfolge, bei der
|Ersetzungen durchgeführt wurde, die an der von starten festgelegten
|Position beginnt ...
`--

Ähnliche fragen