Ich muß in eine VBA Anwendung (Access97) eine Dos_Textdatei als Tabelle einlesen. Leider erscheinen statt Ö Ü Ä ß etc nur verstümmelte Zeichen. Darauf hin habe ich herumgestöbert und eine WIn32API gefunden: OemToChar. Ich habe diese API mit der Declare Function eigebunden und wollte den Text damit umwandeln lassen. Keine Chance. Die Üs bleiben kleine Kästchen etc. Schreibe ich die gleiche Anwendung unter VB6 läuft es einwandfrei. Ist jemand in der LAge mir zu erklären, warum das unter VBA nicht funktioniert???
Declare Function OemToChar Lib "user32" Alias "OemToCharA" \_
(ByVal lpszSrc As String, ByVal lpszDst As String) As Long
Public Function OEMToAnsiStr(S)
Dim RetVal As Long, Res As String
If IsNull(S) Then
OEMToAnsiStr = Null
Else
Res = String(Len(S) + 1, 0)
RetVal = OemToChar(S, Res)
OEMToAnsiStr = Mid$(Res, 1, Len(S))
End If
End Function
Reinhard
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]