2016-06-03 11 views
0

Mit Excel 2010 versuche ich einen Code hinzuzufügen, der das Dateiauswahlfenster öffnet, in dem der Benutzer die CSV-Datei auswählen kann, die er öffnen möchte.Excel VBA Öffnen 1 CSV-Datei

Mein Code ist unten:

Dim OpenThisFile 
OpenThisFile = Application.GetOpenFilename 

Dies wurde gerade von einem meiner alten VBA-Dateien genommen, das gearbeitet hat. Zur Zeit aber, wenn der VBA die 2. Zeile liest öffnet sie die Datei Auswahlfenster, aber sobald ich eine CSV-Datei auswählen und öffnen traf es gibt dem Fehler Application-Defined or Object-Defined Error

+0

Können Sie den Code aus dem ganzen Beitrag 'Sub 'oder' Funktion'? –

Antwort

2

GetOpenFilename wird wieder die volle Filespec als String Variable. Sie können analysieren, es mag:

Sub qwerty() 
    Dim f As String, Path As String, _ 
     FileName As String, FileType As String 

    f = Application.GetOpenFilename() 
    MsgBox f 

    ary = Split(f, "\") 
    bry = Split(ary(UBound(ary)), ".") 
    ary(UBound(ary)) = "" 
    Path = Join(ary, "\") 
    FileName = bry(0) 
    FileType = bry(1) 

    Range("A1") = Path 
    Range("A2") = FileName 
    Range("A3") = FileType 
End Sub 

enter image description here

und wenn Sie wollen pre-select den Pfad und den Dateityp dann:

Sub qwerty2() 
    Dim f As String, Path As String, _ 
     FileName As String, FileType As String 

    ChDir "C:\TestFolder" 
    f = Application.GetOpenFilename(FileFilter:="Text Files (*.csv), *.csv") 
    MsgBox f 

    ary = Split(f, "\") 
    bry = Split(ary(UBound(ary)), ".") 
    ary(UBound(ary)) = "" 
    Path = Join(ary, "\") 
    FileName = bry(0) 
    FileType = bry(1) 

    Range("A1") = Path 
    Range("A2") = FileName 
    Range("A3") = FileType 
End Sub 
+0

Sie "verdächtigen" also, dass der "anwendungsdefinierte oder objektdefinierte Fehler" nicht direkt auf den "Öffnen" -Button geworfen wird, wenn er noch im "Öffnen" -Dialogfeld ist? – user3598756

+0

@ user3598756 Nicht sicher ................. der Dialog sollte selbst keinen Fehler auslösen .......... auch wenn die Datei geschützt ist oder in einem gewissen Sinne "Versteckt", der Dialog sollte entweder die vollständige Dateispezifikation als * String * oder * String * ** False ** zurückgeben. –

+0

das weiß ich auch. Und das ist es, was "Verdacht" begründet ... – user3598756