vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Allgemeine Diskussionen
Replace vs. InStr 
Autor: ModeratorDieter (Moderator)
Datum: 11.08.01 14:03

Hallo Ralf,

es gibt zwei Möglichkeiten:

Die einfachste ist die Replace-Funktion von VB zu verwenden (ab VB6).
<code>Dim strFeld As String
Dim strName As String
 
strFeld = "Hallo [Name],"
strName = "Ralf"
 
strFeld = Replace(strFeld, "[Name]", strName)</code>
Der Nachteil der Replace-Funktion ist, daß falsch geschriebene Platzhalter nicht automatisch ausgefiltert werden, d.h. der Platzhalter bleibt vorhanden!

Alternativ kannst Du die Platzhalter auch mit der InStr-Funktion ermitteln:
<code>Dim bPos As Long
Dim ePos As Long
Dim strFeld As String
Dim strName As String
Dim strVorname As String
Dim strPlaceholder As String
 
strFeld = "Hallo [Vorname] [Name],"
strName = "Otter"
strVorname = "Dieter"
 
bPos = 0
Do
  bPos = InStr(bPos + 1, strFeld, "[")
  If bPos > 0 Then
    ePos = InStr(bPos + 1, strFeld, "]")
    If ePos > 0 Then
      strPlaceholder = Mid$(strFeld, bPos + 1, ePos - bPos - 1)
      Select Case UCase$(strPlaceholder)
        Case "NAME"
          strFeld = Left$(strFeld, bPos - 1) & strName & Mid$(strFeld, ePos + 1)
        Case "VORNAME"
          strFeld = Left$(strFeld, bPos - 1) & strVorname & Mid$(strFeld, ePos _
            + 1)
        Case Else
          <font color=green>' ungültiger Platzhalter</font>
          strFeld = Left$(strFeld, bPos - 1) & Mid$(strFeld, ePos + 1)
      End Select
    End If
    bPos = bPos + 1
  End If
Loop Until bPos = 0</code>
Cu
Dieter
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Wert auslesen63Ralf10.08.01 16:42
Re: Wert auslesen257unbekannt10.08.01 18:41
Re: Wert auslesen42Ralf10.08.01 20:21
Viel klarer: Aber was hat das mit eckigen Klammern zu tun?294unbekannt10.08.01 20:42
Re: Viel klarer: Aber was hat das mit eckigen Klammern zu tu...45Ralf11.08.01 13:44
Replace vs. InStr270ModeratorDieter11.08.01 14:03
Re: Replace vs. InStr43Ralf11.08.01 16:37

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel