APIs in VBA

Hallo!

Folgendes Problem such nach einer Lösung:

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???

Vielen Dank!!!

Also bei mir geht das in VB wie in VBA:

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]

Hallo Reinhard,

Danke, jetzt klappt es bei mir auch.

Folgende Zeile hat das Problem gelöst:

Res = String(Len(S) + 1, 0)

Ich hatte immer den Eingabe String auch als Ausgabe String definiert (OemToChar (Eingabe, Eingabe)) Was unter VB funktioniert.

Noch mals vielen Dank!

Ralf

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]