Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1604to1608
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
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

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
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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige