utf / ascii problem

locu

Grünschnabel
Huhu,

ich habe mir für Word ein Script erstellt, welches eine *.data Datei sucht (für einen Serienbrief) den Inhalt dieser Datei einließt - ein bischen was verändert - und dann das ganze in die Datei zurückschreibt.

Code:
Sub Autoopen()
On Error Resume Next
Dim fso As Object
Dim TF
Dim Pfad
Dim Datei As String
Dim ausgelesen As String
Dim korrigiert As String
Pfad = "E:\"
Datei = Dir$(Pfad & "*.data")
MsgBox (Pfad & Datei)
test = Pfad & Datei
If Not InStr(test, "~") Then
    Set fso = CreateObject("Scripting.FileSystemObject")
        If fso.FileExists(Pfad & Datei) Then
            Set TF = fso.OpenTextFile(Pfad & Datei, 1, False)
            ausgelesen = TF.ReadAll
            MsgBox ausgelesen
            korrigiert = Replace(ausgelesen, "0049", "+49")
            MsgBox korrigiert
            TF.Close
            'ActiveDocument.MailMerge.MainDocumentType = wdNotAMergeDocument
            Set TF = fso.CreateTextFile(Pfad & Datei, True, True)
            TF.WriteLine (korrigiert)
             TF.Close
             ' ActiveDocument.MailMerge.OpenDataSource (Pfad & Datei)
             ' For Each aField In ActiveDocument.Fields
             ' aField.Update
             ' Next aField
        Else
        ' MsgBox "datei existiert nicht"
        End If
    End If
End Sub

Der Code ist noch nicht perfekt - jedoch bin ich schon jetzt über ein größeres Problem gestoßen. wenn ich die Datei auslese, werden Sonderzeichen wie 'ü' in "merkwürdige" Zeichen konvertiert - ich denke mal das hat mit Ascii und UTF - Standardisierungen zu tun - habe da aber leider keine Erfahrung - Vielleicht gibt es eine Möglichkeit die Datei mit Sonderzeichen auszulesen und zu schreiben - das wäre mein Ziel :-)

Vielen Dank für jeder Art von Hilfe
Gruß
locu
 
Zuletzt bearbeitet:
mit dem FileSystemObject hast du die Möglichkeit Unicode einzulesen und auch unicode zu schreiben also wäre dies wahrscheinlich die einfachste möglichkeit

Du brauchst dafür die MS Scripting Runtime

Gruß bb
 
Zurück