Thema Datum  Von Nutzer Rating
Antwort
09.12.2012 12:42:28 BH8
NotSolved
10.12.2012 01:13:01 Lutz
NotSolved
10.12.2012 22:31:05 Gast66066
NotSolved
Blau erster Buchstabe groß
11.12.2012 01:04:14 Lutz
NotSolved
12.12.2012 12:34:29 Gast11684
NotSolved
12.12.2012 12:38:40 Gast86740
NotSolved
12.12.2012 12:47:23 Gast29255
NotSolved
12.12.2012 13:05:59 Gast15914
NotSolved
12.12.2012 13:18:47 Gast29879
NotSolved
21.02.2013 16:58:43 Gast41098
NotSolved
21.02.2013 18:58:39 Gast27835
NotSolved
21.02.2013 18:59:50 Gast84864
Solved

Ansicht des Beitrags:
Von:
Lutz
Datum:
11.12.2012 01:04:14
Views:
2388
Rating: Antwort:
  Ja
Thema:
erster Buchstabe groß

Hallo BH8,

um das zu erreichen brauchen wir reguläre Ausdrücke,dazu ist es nötig im Visual Basic Editor

unter Extras  - Verweise das Kontrollkästchen bei Microsoft VBScript Regular Expressions 5.5 zu aktivieren.

Dann sollte folgender Code funktionieren:

Public Function TestRegExp(sTxt As String, Optional pattern As String = "(\d+)") As String
    Dim regEx As RegExp
    Set regEx = New RegExp
    With regEx
        .pattern = pattern
        .IgnoreCase = True
        .Global = True
    End With
    Set colMatches = regEx.Execute(sTxt)
    For i = 0 To colMatches.Count - 1
        Set reMatch = colMatches(i)
        For j = 0 To reMatch.SubMatches.Count - 1
            stemp = IIf(IsEmpty(stemp), reMatch.SubMatches(j), stemp & Chr(13) & reMatch.SubMatches(j))
        Next j
    Next i
    TestRegExp = stemp
End Function
Public Function FirstLetter(ausdruck As String) As String
    Dim ausnahmen, trennzeichen, worte, wort, tz
    Dim newWords As String
    Dim pattern As String
    ausnahmen = Array("von", "und", "zu")
    trennzeichen = Array("\s+", "\s*\-\s*", "$")
    newWords = ""
    pattern = "(.+?)(" & Join(trennzeichen, "|") & ")"
    MsgBox TestRegExp(ausdruck, pattern)
    worte = Split(TestRegExp(ausdruck, pattern), Chr(13))
    For idx = LBound(worte) To UBound(worte) Step 2
        noChange = False
        For Each ausnahme In ausnahmen
            If worte(idx) = ausnahme Then
                noChange = True
                Exit For
            End If
        Next
        If idx > 0 Then tz = worte(idx - 1)
        If noChange Then
            newWords = IIf(newWords = "", worte(idx), newWords & tz & worte(idx))
        Else
            newWord = UCase(Left(worte(idx), 1)) & Mid(worte(idx), 2)
            newWords = IIf(newWords = "", newWord, newWords & tz & newWord)
        End If
    Next idx
    FirstLetter = newWords
End Function
Public Sub TestFirstLetter()
    MsgBox (FirstLetter("dr. marc-von Moechte-nicht"))
End Sub

Grüße Lutz


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
09.12.2012 12:42:28 BH8
NotSolved
10.12.2012 01:13:01 Lutz
NotSolved
10.12.2012 22:31:05 Gast66066
NotSolved
Blau erster Buchstabe groß
11.12.2012 01:04:14 Lutz
NotSolved
12.12.2012 12:34:29 Gast11684
NotSolved
12.12.2012 12:38:40 Gast86740
NotSolved
12.12.2012 12:47:23 Gast29255
NotSolved
12.12.2012 13:05:59 Gast15914
NotSolved
12.12.2012 13:18:47 Gast29879
NotSolved
21.02.2013 16:58:43 Gast41098
NotSolved
21.02.2013 18:58:39 Gast27835
NotSolved
21.02.2013 18:59:50 Gast84864
Solved