123660
Goto Top

Excel Tabelle mit sonderzeichen "Arabisch und chninesich" als csv Datei mit Unicode speichern

Hallo Zusammen,

Ich hoffe ihr könnt mir weiter helfen, mein Problem ist folgendes:
ich will ein Excel Tabelle mit viele Fremdsprachen "sonderzeichnen" als csv Datei speichern wichtig ist noch das es auch mit Unicode gespeichert wird . Im Internet habe ich ein Code gefunden aber die Unicode Format wird nicht unterstützt.

Vielen Dank im voraus.
Achraf

Content-Key: 281877

Url: https://administrator.de/contentid/281877

Ausgedruckt am: 29.03.2024 um 12:03 Uhr

Mitglied: colinardo
colinardo 03.09.2015 aktualisiert um 11:04:09 Uhr
Goto Top
Moin,
biddeschön
Sub Export()
    ExportRangeAsCSV ActiveSheet.UsedRange, ";", "C:\Datei.csv"  
End Sub

Sub ExportRangeAsCSV(ByVal rng As Range, delim As String, filepath As String)
    Dim arr As Variant, line As String, csvContent As String, fso As Object, csvFile As Object
    Set fso = CreateObject("Scripting.FileSystemObject")  
    Set csvFile = fso.OpenTextFile(filepath, 2, True, -1)
    arr = rng.Value
    If IsArray(arr) Then
        For r = 1 To UBound(arr, 1)
            line = ""  
            For c = 1 To UBound(arr, 2)
                If c < UBound(arr, 2) Then
                    line = line & """" & arr(r, c) & """" & delim  
                Else
                    line = line & """" & arr(r, c) & """"  
                End If
            Next
            csvContent = csvContent & line & vbNewLine
        Next
        csvFile.Write (csvContent)
        csvFile.Close
    Else
        MsgBox "Bereich besteht nur aus einer Zelle!", vbExclamation  
    End If
    Set fso = Nothing
    Set csvFile = Nothing
End Sub
Grüße Uwe
Mitglied: 123660
123660 03.09.2015 um 12:02:19 Uhr
Goto Top
Hallo Uwe,
Vielen Dank für die schnelle Antwort, es funktioniert fast so wie ich das vorgestellt habe.
Nun wird mein Tabelle als csv Datei gespeichert und mit unicode codiert.
wenn ich die wieder öffne ist alles mit eine Semikolon getrennt.
muss ich immer in "Text in spalten" gehen und alles eingeben damit ich die Daten einzel in spalten oder kann man das auch in Code einfügen?

Grüße Achraf
Mitglied: colinardo
colinardo 03.09.2015 aktualisiert um 12:18:39 Uhr
Goto Top
Bei Unicode kodierten Dateien erkennt Excel die Spalten hier leider nicht automatisch wenn man sie per Doppelklick öffnet.
Du müsstest die Datei mit VBA öffnen dann kann man das machen.
Sub ImportUnicodeCSV()
    With ActiveSheet
        With .QueryTables.Add(Connection:="TEXT;" & "C:\Datei.csv", Destination:=Range("A1"))  
            .Name = "import"  
            .FieldNames = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePlatform = 65001
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileSemicolonDelimiter = True
            .Refresh BackgroundQuery:=False
            .Delete
        End With
    End With
End Sub
Mitglied: 123660
123660 03.09.2015 um 14:09:33 Uhr
Goto Top
Vielen Dank für die Unterstützung, ich wird dein Code gleich testen