Auftragsprogrammierung

Projektanfrage über Web Formular   per Online-Formular 
Projektanfrage über E-Mail  Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Projektanfrage per Telefon  +49 (0)151 / 164 55 914
Projektanfrage weitere Informationen  weitere Informationen 

Sie benötigen Hilfe oder Unterstützung? Nutzen Sie für Ihre Anfrage unser Online-Formular, senden Sie uns eine Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!  oder rufen Sie uns einfach an.

Referenzen

 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe

CSV-Datei mit UniCode Zeichen erzeugen

Dieses Beispiel zeigt, wie CSV-Dateien mit UniCode-Zeichen erzeugt werden können. Im Standardzeichensatz können in ASCII-Dateien, also auch in CSV-Dateien z. B. keine chinesischen Zeichen ausgegeben werden. Mit Hilfe des folgenden VBA-Codes können hingegen auch Zeichen ausserhalb des ASCII-Satzes, also auch Sonderzeichen ect. ausgeben. Mehr über den UniCode-Zeichensatz finden Sie hier bei Wikipedia.de.

Erfassen Sie den folgenden VBA-Code (drei Prozeduren) in einem neuen Code-Modul. Aufgerufen wird der Export über die erste Prozedur "UniCode_CSV_erzeugen". Im Beispiel wird die erzeugte UniCode CSV-Datei im gleichen Verzeichnis abgelegt, wie die Excel-Datei aus der die CSV-Datei erzeugt werden soll.

Die Ausgangsdatei enthält drei Spalten, in der dritten Spalte befinden sich chinesische Zeichen, die in die CSV-Datei übertragen werden sollen, siehe Abbildung:

VBA-Code zur Erzeugung von Unicode CSV-Dateien:

Sub UniCode_CSV_erzeugen()
'** Dimensionierung der Variablen
Dim strFile As Variant

'** Dateiname + Pfad festlegen
'strFile = Application.GetSaveAsFilename("Unicode_CSV-Datei.csv", "CSV-Dateien,*.csv,Alle Dateien,*.*")
strFile = ThisWorkbook.Path & "\Unicode-CSV-Datei.csv"

'** Beenden, wenn kein Dateiname vorhanden ist
If strFile = False Then Exit Sub

'** Speicher-Prozedur aufrufen
Code_CSV_speichern (strFile)
End Sub

Sub Code_CSV_speichern(strFile As String)
'** Dimensionierung der Variablen
Dim filenr, a, b, lngAnzSp As Integer
Dim strData As String '** CSV-Datenzeile

'** Vorgaben definieren
filenr = FreeFile
lngAnzSp = ThisWorkbook.Sheets("Daten").Cells.SpecialCells(xlCellTypeLastCell).Column

'** Datei öffnen
Open strFile For Output As #filenr

'** Daten in CSV-Datei schreiben
Print #filenr, Chr(255); Chr(254);
For a = 1 To ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
  strData = ""
  For b = 1 To lngAnzSp - 1
     strData = strData & Cells(a, b).Text & ";"
  Next b
  strData = strData & Cells(a, b).Text & vbCrLf
  Print #filenr, GetUniCodeString(strData);
Next a

'** Datei schließen
Close #filenr
End Sub

Private Function GetUniCodeString(s As String) As String
'** Dimensionierung der Variablen
Dim a As Integer  ' Zähler über die einzelnen Bytes des Unicode-Strings

'** Umwanden in Unicode-Zeichen
GetUniCodeString = ""
For a = 1 To LenB(s)
   GetUniCodeString = GetUniCodeString & Chr(AscB(MidB(s, a, 1)))
Next

End Function


Die Beispieldatei können Sie über den folgenden Link herunterladen:

Drucken E-Mail

Relevante Artikel

  • Zellen mit Hochkomma per VBA ermitteln

    Wenn Sie in Excel vor einer Beliegiben Zeichen- oder Ziffernfolge ein Hochkomma ( ' ) setzen, dann wird der Text oder die Zahl auf jeden Fall als...

  • CSV-Datei mit UniCode Zeichen erzeugen

    Dieses Beispiel zeigt, wie CSV-Dateien mit UniCode-Zeichen erzeugt werden können. Im Standardzeichensatz können in ASCII-Dateien, also auch in...

  • Laufschrift innerhalb einer Zelle

    Mit diesem Code kann innerhalb einer Zelle eine Laufschrift erstellt werden. Die Buchstaben werden der Reihe nach vertauscht, so dass der Effekt...

  • Zeichen in String zählen

    Dieser Beitrag zeigt verschiedene Möglichkeiten, um bestimmte Zeichen in einem String zu zählen. So soll beispielsweise im Zelleintrag "Wo steht das...

  • Vornamen und Nachnamen trennen

    111014   Mit Hilfe des nachfolgenden Makros wird der Vorname und Nachname im markierten Bereich in zwei Zellen getrennt.    ...

Projektanfrage

 Sie benötigen eine Auftragsprogrammierung?
 Oder suchen Unterstützung bei der 
 Lösungsfindung?

  Nutzen Sie unser Anfrageformular

  Jetzt anrufen unter 0151 / 164 55 914

 Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! Projektanfrage per Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! senden

  Weitere Informationen

sitepanel question2

P
R
O
J
E
K
T
A
N
F
R
A
G
E
Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Bestätigung erklären Sie sich mit der Verwendung von Cookies auf Excel-Inside Solutions einverstanden.