Problemstellung:
Für 32Bit und 64Bit Office Versionen
Wie kann ich in einem String die Umlaute (ä, ö, ü und ß) konvertieren?
Public Function Umlaut(pString As String) As String '//******************************************************** '// Diese Funktion ersetzt in einem String sämtliche '// Umlaute, egal ob gross oder klein geschrieben '// '// Original dieser Funktion aus der Tips&Tricks-Sammlung '// von Reinhard Kraasch (www.kraasch.de) '// '//******************************************************** Dim I As Integer, Ch As String * 1, Ch1 As String * 1, _ IsUpCase As Boolean, Res As String If IsNull(pString) Then Umlaut = Null: Exit Function Res = "" For I = 1 To Len(pString) Ch = Mid(pString, I, 1) Ch1 = IIf(I < Len(pString), Mid(pString, I + 1, 1), " ") ' Nächstes Zeichen ist kein Kleinbuchstabe: IsUpCase = (Asc(Ch1) = Asc(UCase(Ch1))) Select Case Asc(Ch) Case Asc("Ä"): Res = Res & IIf(IsUpCase, "AE", "Ae") Case Asc("Ö"): Res = Res & IIf(IsUpCase, "OE", "Oe") Case Asc("Ü"): Res = Res & IIf(IsUpCase, "UE", "Ue") Case Asc("ä"): Res = Res & "ae" Case Asc("ö"): Res = Res & "oe" Case Asc("ü"): Res = Res &a "ue" Case Asc("ß"): Res = Res &a "ss" Case Else: Res = Res & Ch End Select Next I Umlaut = Res End Function
Aufruf:
Dim x As String x = Umlaut("Müller")
Das Ergebnis von x wäre "Mueller"
Ähnliche Artikel
Weiterlesen...