Ich habe Probleme, die neueste Version mehrerer Dateien im selben Ordner auszuwählen und sie in Excel zu importieren. Zum Beispiel:Wählen Sie die letzte der mehreren Dateien aus und importieren Sie sie anschließend in eine Excel-Tabelle.
Dateien im Ordner: Spanish.csv Spanisch (1) .csv Spanisch (2) .csv English.csv Englisch (1) .csv French.csv (Es gibt viele mehr Sprachen und Dateien hier, aber ich bin auch nur diese der Einfachheit halber)
Von diesem Ordner, möchte ich diese Dateien auszuwählen: Spanisch (2) .csv Englisch (1) .csv French.csv
und importieren Sie sie int o ein bestehendes Arbeitsblatt.
Bisher habe ich:
Sub GetFiles()
Dim MyPath As String
Dim Spanish As String
Dim English As String
Dim French As String
Dim LanguageFiles(2) As String
MyPath = "C:\example\"
'Make sure that the path ends in a backslash
If Right(MyPath, 1) <> "\" Then MyPath = MyPath & "\"
Spanish = Dir(MyPath & "Spanish*.csv")
English = Dir(MyPath & "English*.csv")
French = Dir(MyPath & "French*.csv")
I WANT TO SOMEHOW GET THE MOST RECENT VERSION OF EACH AND PASS IT TO THE LANGUAGEFILES ARRAY AND IMPORT IT TO A SINGLE WORKSHEET.
LanguageFiles(0) = Spanish
LanguageFiles(1) = English
LanguageFiles(2) = French
For i = LBound(LanguageFiles) To UBound(LanguageFiles)
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & LanguageFiles(i), Destination:=Range("A" & Rows.Count).End(xlUp).Offset(1, 0))
.Name = "Sample"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Next i
End Sub
Dieser Code tatsächlich funktioniert nicht, weil ich zusammen mehrere Stücke cobbling bin, und ich weiß nicht, ob ich noch auf dem richtigen Weg bin. Kann mir bitte jemand helfen?
Blick auf das Filesystem verwenden und die datelastmodifed, und Sie können wie bei der Suche verwenden, also wenn fl.name wie „* Spanisch *“, dann vergleichen Sie das Datum .... –
http: // Stackoverflow .com/questions/9205137/using-vbscript-find-most-recent-Datei-Datum-in-einem-einzigen-Ordner –
http://www.4guysfromrolla.com/webtech/faq/FileSystemObject/faq5.shtml –