CSV-Datei öffnen mit VBA



Excel-Version: 10.0 (Office XP)
nach unten

Betrifft: CSV-Datei öffnen mit VBA
von: Peter Wein
Geschrieben am: 14.07.2002 - 23:13:20

Hallo!

Folgendes Problem:
Bei einer Arbeitsmappe einer früheren Excel-Version (keine Ahnung ob 2000 oder Excel 97, zumindest eine, wo es noch die Funktion Auto_öffnen gab), ist in VBA eine Routine zum öffnen einer csv-Datei, welche auch tadellos funktioniert.

Mit einem neu erstellten Excel XP-Blatt funktionieren diese Routinen dann nicht mehr, die csv-Datei wird unformatiert in die erste Spalte geschrieben und müsste nun aufwendig aufbereitet werden.

Kann mir jemand sagen, wie ich dieses Problem generell vermeiden kann, denn hinterher soll das Makro von Excel 97 bis Excel 2002 einwandfrei funktionieren...


Anbei der Code:

Sub ImportCsv()

Application.ScreenUpdating = False
ClearTab 'Tabellen löschen
ReadCsv 'CSV- Datei importieren
'CopyToTab 'Einträge auf die Tabregister kopieren
Application.ScreenUpdating = True

End Sub
'---------------------------------------------------------------------
' ClearTab
' Diese Funktion löscht die Tabellen
'---------------------------------------------------------------------
Function ClearTab()

Dim sheet As Worksheet

For Each sheet In Worksheets
sheet.Select
Rows("3:16383").Select
Selection.Delete Shift:=xlUp

' Kopfzeile und Signalbezeichnung fixieren
Range("C3").Select
ActiveWindow.FreezePanes = True

' Typ- Spalte ausblenden
Columns("A:A").Select
Selection.EntireColumn.Hidden = True

Next sheet

End Function 'ClearTab
'---------------------------------------------------------------------
' ReadCsv
' Diese Funktion Liest die CSV- Datei in eine Hilfstabelle ein.
'---------------------------------------------------------------------
Sub ReadCsv()


Workbooks.OpenText Filename:=ImportDatei, _
Origin:=xlWindows, _
StartRow:=1, _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, _
Tab:=True, _
Semicolon:=True, _
Comma:=False, _
Space:=False, _
Other:=False

TmpFile = Application.ActiveWindow.Caption

End Sub 'ReadCsv

nach oben   nach unten

Re: CSV-Datei öffnen mit VBA
von: Günter
Geschrieben am: 15.07.2002 - 16:59:22

auf alle fälle musst du ne versionsunterscheidung einbauen:

Sub ExcelVersionErmitteln()
Dim ExcelVersion As String
ExcelVersion = Left(Application.Version, 1)
Select Case ExcelVersion
Case 8 'Excel 97
[funktionsaufrufe]
Case 9 'Excel 2000
[funktionsaufrufe]
Case 10 'Excel XP (2002)
[funktionsaufrufe]
End Select
End Sub

weiter kann ich dir leider nicht helfen. ich weiß nur, dass es bei csv dateien probleme gibt, wenn man sie einmal mit exel2000 und dann wieder in 97 öffnen will.

hoffe ich konnte ein wenig helfen.
gruß günter

nach oben   nach unten

Re: CSV-Datei öffnen mit VBA
von: Peter.Wein@gmx.de
Geschrieben am: 15.07.2002 - 17:06:10

Danke fürs erste!

Das Problem habe ich natürlich weiter.. :-(

mfg
Peter Wein

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "CSV-Datei öffnen mit VBA"