Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
680to684
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
680to684
680to684
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Application.GetOpenFilename

Application.GetOpenFilename
13.10.2005 09:35:01
Korl
Hallo,
zum öffnen einer Textdatei habe ich einen Code der auch funktioniert.
Nun möchte ich gerne eine "csv" auf gleichem Wege öffnen. Die Function Application.GetOpenFilename habe ich auf "csv" umgestellt.
Aber diesen Teil
Workbooks.OpenText Filename:=x, Origin:=xlMSDOS, StartRow _
:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, Tab:=False, Semicolon:=True, comma:=False _
, Space:=False, other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
Array(3, 1), Array(4, 1)), TrailingMinusNumbers:=True
bekomme ich nicht hin. Es wird mir alles in einer Spalte angezeigt obwohl ich Semikolon:=True gesetzt habe.
Was hier jemand Rat und kann mir hierbei Helfen?
Gruß Korl

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Application.GetOpenFilename
13.10.2005 11:14:20
MichaV
Hallo Korl,
gib mal eine Beispielhafte Zeile aus Deiner Textdatei.
Gruss- Micha
AW: Application.GetOpenFilename
13.10.2005 11:41:16
Korl
Hallo Micha,
Danke für Dein Interesse. Gerade habe ich gesehen das gestern das selbe Problem diskutiert wurde.
Bernd (bst) hat im Grunde schon eine Lösung gefunden. Hier mal der Code:

Sub LiesCSV()
Dim neudatei
neudatei = Application.GetOpenFilename(filefilter:="Textdateien (*.csv), *.csv")
If neudatei = False Then Exit Sub
' Bei Bedarf: Neue Tabelle anlegen
'Worksheets.Add
' LeseFunktion aufrufen
ReadfromCSVSimple CStr(neudatei)
End Sub

' von bst (Bernd) geschrieben
' Öffnet eine CSV-Datei und liest sie in die aktuelle Tabelle ab Zeile 1 Spalte 1
'
' fName = Dateiname & Pfad
' FS = das Spaltentrennzeichen (Field Seperator), im Deutschen ein Semikolon
'

Sub ReadfromCSVSimple(fname As String, Optional FS As String = ";")
Dim hfile As Integer ' Filehandle bzw. Dateinummer
Dim i As Long ' Zähler über alle Zeilen
Dim OneLine As String ' Eine Zeile als String
Dim myArr As Variant ' eine Zeile in Felder getrennt
hfile = FreeFile
Open fname For Input As #hfile
While Not EOF(hfile)
i = i + 1
Line Input #hfile, OneLine
myArr = Split(OneLine, FS)
With Range(Cells(i, 1), Cells(i, 1 + UBound(myArr)))  xxxxxxxxxxxxxxxxxx
.NumberFormat = "@"
.Value = myArr
End With
Wend
Close #hfile
End Sub

Dieser Code läuft auch. Leider befinden sich in meiner csv Leerzeilen, an der der Code stehen bleibt. Habe die Zeile mit xxxxxx gekennzeichnet.
Wenn man dieses Problem noch lösen könnte, währe es zu schön.
Im Offtopic habe ich eine Frage gestellt, wie man eine Verlinkung erstellen kann, sonst hätte ich Dich gleich verlinkt. ;-)
Gruß Korl
Anzeige
AW: Application.GetOpenFilename
13.10.2005 11:51:58
Korl
Hallo Micha,
der Bernd sein Nick "bst" hat sich nochmal gemeldet und den Code angepasst.
Es funktioniert.
Besten Dank nochmal für den Interesse.
Gruß Korl

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige