Deutsche Umlaute
06.01.2022 09:49:11
Gert
Die folgende auf das Wesentliche beschränkte Prozedur zeigt die Veränderung. Aus "ÄÖÜäöüß" wird " §". Es ist unklar, wann genau zwischen Brasilien und Deutschland und warum die Veränderung vor sich geht und welcher Codepage die falsche Codierung entspricht. Helfen würde mir u.a. eine Info, wie ich die zu den falschen Zeichen gehörige Codepage ermitteln kann. Und natürlich wie ich in VBA global eine richtige Codierung für beliebige Zeichenketten-Variablen erzeugen kann.
Sub UmlConv()
Dim Umlaute As String
Dim Ergebnis As String
Dim i As Long
Dim x() As Byte
Debug.Print "Deutsche Umlaute"
Umlaute = "ÄÖÜäöüß"
Ergebnis = ""
x = StrConv(Umlaute, vbFromUnicode) ' Convert string.
For i = 0 To UBound(x)
Debug.Print x(i)
Ergebnis = Ergebnis & Chr(x(i))
Next
Debug.Print Ergebnis 'Ergibt wieder ÄÖÜäöüß
Debug.Print ""
Debug.Print "Umlaute mit geänderten Keycodes"
Umlaute = "
§"
Ergebnis = ""
x = StrConv(Umlaute, vbFromUnicode) ' Convert string.
For i = 0 To UBound(x)
Debug.Print x(i)
Ergebnis = Ergebnis & Chr(x(i))
Next
Debug.Print Ergebnis 'Ergibt wieder
§
End Sub
Diese ergibt folgendes Debug-Protokoll:Deutsche Umlaute
196
214
220
228
246
252
223
ÄÖÜäöüß
Geänderte Keycodes
128
133
134
138
154
159
167
§