Anzeige
Archiv - Navigation
1068to1072
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Export nach CSV (Format ANSI)

Export nach CSV (Format ANSI)
24.04.2009 08:17:55
Markus
Hallo,
das folgende Makro speichert eine Excel-Datei ins Format csv oder txt.
Trenner mit ;
Das gut sehr gut.
Nun benötige ich aber für den Import der Datei in eine Datenbank,
das amerikanische Format.
d.h. der Import geht jetzt schon gut, ausser das äöü und andere Sonderzeichen in der Datenbank nicht richtig dargestellt werden.
Wie kann ich diesem Makro beibringen, das es in ANSI-Format speichert (ich glaub das heisst so) .
Danke jetzt schon für jede Hilfe!
Markus
N.B. das folgende Makro habe ich schon aus diesem Formum kopiert, aber nirgends einen Hinweis auf die Speicherungsart gefunden.

Sub ExportAsCSV()
' Trenner ist ;
Dim strTxt, strMaske As String, iR As Long, iC As Integer
sFile = "c:\Export_aus_Excel_nach_ASCII.txt"
' strMaske = """" 'für ein "
Open sFile For Output As #1
For iR = 1 To ActiveSheet.UsedRange.Rows.Count
strTxt = ""
For iC = 1 To ActiveSheet.UsedRange.Columns.Count
strTxt = strTxt & strMaske & Cells(iR, iC) & strMaske & ";"
Next iC
strTxt = Left(strTxt, Len(strTxt) - 1)
Print #1, strTxt
Next iR
Close #1
MsgBox sFile & " exportiert!"
End Sub


1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Export nach CSV (Format ANSI)
24.04.2009 12:16:29
fcs
Hallo Markus,
Excel erstellt unter Windows standardmäßig Textdateien mit dem ANSI-Zeichensatz (bis zu 255 Zeichen). Evtl. ist dies auch noch betriebssystemabhängig, so dass Unicode-Zeichensatz produziert wird.
Falsche Darstellung der Deutschen Sonderzeichen deutet darauf hin, dass die Datenbank einen erweiterten ASCII-Zeichensatz mit länderspezifischer Einstellung verwendet.
Kann die Datenbank den überhaupt Umlaute und ß darstellen?
Wenn ja, dann könnte man die Umlaute und anderne Zeichen in dem Textstring mit zeichenweisem Vergleich durch entsprechend andere Zeichen ersetzen, die die Datenbank korrekt interpretiert.
Gruß
Franz

Sub ExportAsCSV()
' Trenner ist ;
Dim strTxt, strMaske As String, iR As Long, iC As Integer
Dim sFile As String, iPos As Long, sZeichen As String, strNeu As String
sFile = "c:\Lokale Daten\Test\Export_aus_Excel_nach_ASCII.txt"
' strMaske = """" 'für ein "
Open sFile For Output As #1
For iR = 1 To ActiveSheet.UsedRange.Rows.Count
strTxt = ""
For iC = 1 To ActiveSheet.UsedRange.Columns.Count
strTxt = strTxt & strMaske & Cells(iR, iC) & strMaske & ";"
Next iC
strTxt = Left(strTxt, Len(strTxt) - 1)
strNeu = ""
For iPos = 1 To Len(strTxt)
sZeichen = Mid(strTxt, iPos, 1)
Select Case sZeichen
'Welches die Ersatznummern sein müssen, muss du aus einer _
Zeichensatztabelle ermitteln
Case "ä"
sZeichen = Chr(187) ' »
Case "Ä"
sZeichen = Chr(134) ' †
Case "ö"
sZeichen = Chr(189) ' ½
Case "Ö"
sZeichen = Chr(135) ' ‡
'usw.
Case Else
'do nothing
End Select
strNeu = strNeu & sZeichen
Next
strTxt = strNeu
Print #1, strTxt
Next iR
Close #1
MsgBox sFile & " exportiert!"
End Sub


Anzeige

13 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige