CSV Datei speichern durch vba automatisieren

Hallo,

ich benutze office 2003(english version) und beim speichern von csv datei, mache ich als folgendes: 1) „save as“ und bei „save as type“ ist „CSV(comma delimited)“ 2)beim klicken von „save“, dann scheint ein fenster mit der frage „…save only the active sheet“, dann klicke ich „ok“ 3) anschließend tauft ein fenster mit der frage auf mit „…contains not compatable feature…“, bei diese Frage wähle ich „No“ 4)und beim nächsten "save as "fenster wähle ich „cancel“, 5)dann beim schließen vom ganzen datei kommt ein fenster mit der frage ob ich die änderung speichern soll, jetzt wähle ich „No“.

ich möchte das ganze speichernverfahren von dem csv datei durch vba automatisieren. hat jemand vielleicht eine Idee?

danke!

Hallo,

ich zitiere hier mal folgenden VBA-Code von [email protected], den ich selbst für den CSV-Export nutze. Hoffe er funktioniert auch in Deiner Excel-Version. Ggf. kann man den Code noch so modifizieren, dass der Dateiname im Code generiert wird und ein statisches Trennzeichen festgelegt wird, so dass keine weitere Eingabe erforderlich ist:

Sub SaveCSV()
' Speichert den Inhalt eines Arbeitsblatts als CSV-Datei
' mit wählbarem Trennzeichen und Maskierung von Einträgen
' von [email protected], 30.1.2003
' Ohne Gewähr!

Dim Bereich As Object, Zeile As Object, Zelle As Object
Dim strTemp As String
Dim strDateiname As String
Dim strTrennzeichen As String
Dim strMappenpfad As String

strMappenpfad = ActiveWorkbook.FullName
strMappenpfad = Replace(strMappenpfad, ".xls", ".csv")

strDateiname = InputBox("Wie soll die CSV-Datei heißen (inkl. Pfad)?", "CSV-Export", strMappenpfad)
If strDateiname = "" Then Exit Sub

strTrennzeichen = InputBox("Welches Trennzeichen soll verwendet werden?", "CSV-Export", ",")
If strTrennzeichen = "" Then Exit Sub

Set Bereich = ActiveSheet.UsedRange

Open strDateiname For Output As #1

For Each Zeile In Bereich.Rows
For Each Zelle In Zeile.Cells
If InStr(1, Zelle.Text, strTrennzeichen) \> 0 Then
'Zellen, die ein Trennzeichen beinhalten in Anführungsstriche setzen
strTemp = strTemp & """" & CStr(Zelle.Text) & """" & strTrennzeichen
Else
strTemp = strTemp & CStr(Zelle.Text) & strTrennzeichen
End If
Next
If Right(strTemp, 1) = strTrennzeichen Then strTemp = Left(strTemp, Len(strTemp) - 1)
Print #1, strTemp
strTemp = ""
Next

Close #1
Set Bereich = Nothing
MsgBox "Datei wurde exportiert nach" & vbCrLf & strDateiname

End Sub

Viele Grüße, tester!