2016-12-12 2 views
1

In VBA zu initiieren, habe ich einen Workbooks.OpenText Befehl:, wie Verzeichnis zeigen Workbooks.OpenText Befehl für jede Datei für vba

Workbooks.OpenText Filename:=strFileToOpen, StartRow:=11, DataType:=xlDelimited, Tab:=True, TrailingMinusNumber:=True 

jedoch anstelle der Öffnung Datei für Datei und Hinzufügen zu meine Arbeitsbücher. Ich möchte dies auf ein Verzeichnis hinweisen, und VBA (Excel) führen die Workbooks.OpenText-Funktion für jede Datei in dem Verzeichnis aus. Wie mache ich das?

+1

Sie können dies nutzen, als Ausgangspunkt http://stackoverflow.com/questions/10380312/loop-through-files-in -a-folder-using-vba – nightcrawler23

Antwort

1

Willkommen im Forum !. Sie können Dateien in einem Ordner auflisten und sie mit dem folgenden Beispielcode öffnen. Ändern Sie einfach die Verzeichnis- und Mustererkennung. Es ist zur Zeit gesetzt für XLSM Dateien im C suchen: \ temp \ Ordner

Public Sub OpenFilesInFolder() 
    Const folder_to_search As String = "C:\temp\" 
    Const pattern_recognition As String = "*.xlsm" 
    Dim the_file_name As String 
    Dim full_path As String 
    'the_file_name = Dir(folder_to_search & pattern_recognition, vbNormal) 'Applies the pattern recognition 
    the_file_name = Dir(folder_to_search, vbNormal)      'Does not apply the pattern recognition 
    Do While Len(the_file_name) > 0 
     full_path = folder_to_search & the_file_name 
     Debug.Print full_path 'The full path will be printed in the Immediate window Ctrl+G will open this 
     Workbooks.OpenText Filename:=full_path 
     the_file_name = Dir 'Move onto the next file 
    Loop 
End Sub 
+1

'pattern_recognition' sollte wahrscheinlich =' "* .csv" 'aber ich weiß, dass Sie es nicht verwenden. Ich hätte 'Workbooks.OpenText' folgen' full_path' als die zweite Zeile in der Schleife, um die Logik zusammen zu halten. Aber gute Arbeit –

+0

@ThomasInzina Good Point .. Vertauschte die OpenText Linien –

+0

Sieht gut aus ... :) –

Verwandte Themen