AW: automatisches öffnen der vorletzten datei
20.09.2003 19:14:27
Nepumuk
Hallo ?,
so geht's:
Option Explicit
Public Sub oeffnen()
Dim index As Integer, Dateiname As String, Pfad As String, hFile As Integer
Dim FsyObjekt As Object, FiObjekt As Object
Dim Feld1() As String, Feld2() As String
hFile = FreeFile
Set FsyObjekt = CreateObject("Scripting.FileSystemObject")
Pfad = ThisWorkbook.Path
With Application.FileSearch
.LookIn = Pfad
.Filename = "*.txt"
If .Execute <> 0 Then
For index = 1 To .FoundFiles.Count
ReDim Preserve Feld1(1 To index)
ReDim Preserve Feld2(1 To index)
Set FiObjekt = FsyObjekt.GetFile(.FoundFiles(index))
Feld1(index) = Year(FiObjekt.DateLastModified) & Format(Month(FiObjekt.DateLastModified), "00") & Format(Day(FiObjekt.DateLastModified), "00") & Format(FiObjekt.DateLastModified, "hhmmss")
Feld2(index) = index
Next
Call sortieren(1, UBound(Feld1), Feld1, Feld2)
Open .FoundFiles(Feld2(UBound(Feld2) - 1)) For Random As #hFile
' Hier kommt dein Code zur verarbeitung der Textdatei
Close #hFile
End If
End With
End Sub
Private Sub sortieren(Untergrenze As Single, Obergrenze As Single, Feld1() As String, Feld2() As String)
Dim index1 As Single, index2 As Single, Element1 As Variant, Element2 As Variant
Dim Zwischenspeicher As Variant
index1 = Untergrenze
index2 = Obergrenze
Zwischenspeicher = Feld1(((Untergrenze + Obergrenze) / 2) \ 1)
Do
Do While Feld1(index1) < Zwischenspeicher
index1 = index1 + 1
Loop
Do While Zwischenspeicher < Feld1(index2)
index2 = index2 - 1
Loop
If index1 <= index2 Then
Element1 = Feld1(index1)
Element2 = Feld2(index1)
Feld1(index1) = Feld1(index2)
Feld2(index1) = Feld2(index2)
Feld1(index2) = Element1
Feld2(index2) = Element2
index1 = index1 + 1
index2 = index2 - 1
End If
Loop Until index1 > index2
If Untergrenze < index2 Then Call sortieren(Untergrenze, index2, Feld1, Feld2)
If index1 < Obergrenze Then Call sortieren(index1, Obergrenze, Feld1, Feld2)
End Sub
Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk