UTF8 Codierung funktioniert nicht mehr -
16.10.2015 12:51:24
Maren
ich habe vor ein paar Wochen endlich die Lösung gefunden, wie ich eine UTF8 Codierung hinbekomme dank ganz großartiger Hilfe hier aus dem Forum. Jetzt funktioniert hier auf einmal gar nichts mehr. Ich denke es liegt sicher daran, dass ich einen neuen 64bit Rechner habe und vorher nur 32bit hatte. Aber ich weiß nicht, was ich umstellen muss. Das hier ist der Code zur Codierung:
Option Private Module
Option Explicit
Declare PtrSafe
Function WideCharToMultiByte Lib "kernel32.dll" (ByVal CodePage As Long, _
ByVal dwFlags As Long, _
ByVal lpWideCharStr As Long, _
ByVal cchWideChar As Long, _
ByVal lpMultiByteStr As Long, _
ByVal cbMultiByte As Long, _
ByVal lpDefaultChar As Long, _
ByVal lpUsedDefaultChar As Long) As _
Long
Sub UTF8Output(Datei As String, t As String, Optional BOM As Boolean = False)
Dim tmp() As Byte, l As Long, FF As Integer
If Len(Datei) = 0 Or Len(t) = 0 Then Exit Sub
l = WideCharToMultiByte(65001, 0, _
StrPtr(t), Len(t), 0, 0, 0, 0)
ReDim tmp(0 To l - 1)
WideCharToMultiByte 65001, 0, StrPtr(t), Len(t), _
VarPtr(tmp(0)), l, 0, 0
FF = FreeFile
Open Datei For Output As #FF
Close #FF
FF = FreeFile
Open Datei For Binary As #FF
Put #FF, , tmp
Close #FF
End Sub
Das PtrSafe habe ich bei der Declare
Function schon mit reingenommen, jetzt wird aber an der Stelle StrPtr gemeckert.
Hat jemand eine Ahnung, was da los ist?
Vielen Dank schon mal im Voraus,
Maren