Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Auswahl einer csv-Datei

Auswahl einer csv-Datei
02.02.2018 10:09:32
Hans-Jürgen
Hallo Wissende,
in einem Makro soll ein Workbook geöffnet werden, was zwingend eine CSV-Datei sein soll (um Falschauswahl zu vermeiden)
Ich habe bisher die Zeile
Set wbkRohdaten = Application.Workbooks.Open(Application.GetOpenFilename("Textdateien (*.prn; *.txt; *.csv), *.csv", , "*.csv-Datei mit Rohdaten auswählen"))

und zwei Probleme - ein grosses und ein kleines:
Grosses Problem: Wenn auf diesem Wege die CSV aufgemacht wird, sind die Spalten nicht belegt, es wird der Inhalt mit Semikolon getrennt gezeigt. (Wenn man die CSV-Datei ohne Makro öffnet, separiert Excel ja autoimatisch). Ich vermute nun, ich muss im Rahmen der Öffnung festlegen, was der Separator ist, aber ich weiss nicht, wie.
Kleines Problem: Der erste Parameter von GetOpenFilename gefällt mir irgendwie nicht. Ich habe verstanden, dass der Aufbau genau so sein muss wie in der Auswahlliste des Dateiöffnens, aber kann ich nicht schon hier vermeiden, dass etwas anderes als CSV ausgewählt wird?
Vielen Dank
Hans-Jürgen
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Auswahl einer csv-Datei
02.02.2018 10:36:54
Sepp
Hallo Hans-Jürgen,
probier es mal so.
Modul Modul1
Option Explicit 
 
Sub openPDF() 
  Dim strFile As String, wbkRohdaten As Workbook 
 
  With Application.FileDialog(msoFileDialogFilePicker) 
    .InitialFileName = "D:\" 
    .Title = "CSV-Datei auswählen" 
    .ButtonName = "Öffnen" 
    .InitialView = msoFileDialogViewList 
    .Filters.Clear 
    .Filters.Add "Text Dateien", "*.csv", 1 
    .FilterIndex = 1 
    If .Show = -1 Then strFile = .SelectedItems(1) 
  End With 
 
  If Len(strFile) Then 
    If strFile Like "*.csv" Then 
      Set wbkRohdaten = Workbooks.Open(Filename:=strFile, Local:=True) 
      With wbkRohdaten 
        'dein Code 
      End With 
    Else 
      MsgBox "Sie müssen eine CSV-Datei wählen!" 
    End If 
  End If 
 
End Sub 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Gruß Sepp

Anzeige
AW: Auswahl einer csv-Datei
02.02.2018 10:40:28
EtoPHG
Hallo Hans-Jürgen,
Da hast du was falsch verstanden.
Denn GetOpen-Parameter kannst du deinen Bedürfnissen anpassen, z.B.
"Importdateien (*.csv), *.csv", , "*.csv-Datei mit Rohdaten auswählen"
Ich würde allerdings testen, ob tatsächlich eine Datei ausgewählt wurden.
Das Öffnen dann separat durchführen, mit den entsprechenden richtige Angaben der .Open Parameter (siehe XL VBA-Hilfe!).
Gruess Hansueli
Anzeige
AW: Auswahl einer csv-Datei
02.02.2018 10:49:22
yummi
Hallo Hans-Jürgen,

Set wbkrohdaten = Application.Workbooks.Open(Application.GetOpenFilename("Textdateien (*.prn; *. _
txt; *.csv), *.csv", , "*.csv-Datei mit Rohdaten auswählen"), Local:=True)
Der parameter Local sorgt für die richtige Zuordnung. Was dein Filefilter anbetrifft, so kannst du doch nur csv dateien auswählen
Gruß
yummi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige