nochmal zur öffnen der vorletzten datei (nepumuk)
22.09.2003 18:23:27
Legion
hab das mal ausprobiert, aber kommt immer eine fehlermeldung (ich meine das war typen unvergträglich.
Auf jedenfall hab ich unten gezeigten quellcode verwendet. allerdings wusst ich nicht wirklich wie ich den code zur verarbeitung der txt datei zu verwenden hab.
Kann mir da vielleicht jemand ein beispiel geben?
wär saunett :)
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
Bezieht sich auf diese Nachricht:
Um das Problem kurz zu schildern:
ich möchte mir ein makro basteln, das automatisch die vorletzt geänderte txt datei in einem ordner öffnet. Den Befehl zum öffnen der TXT hab ich schon fertig.
Wie kann ich es aber realisieren das die vorletzte geänderte datei automatisch geöffnet wird.?
beispiel: im ordner C:\test\
gibt es die dateien:
name größe typ geändert am
beispiel1.txt 2kb textdokument 10.9.2003
beispiel2.txt 2kb textdokument 15.9.2003
beispiel3.txt 2kb textdokument 20.9.2003
da beispiel2.txt die vorletzt geänderte datei ist soll diese automatisch geöffnet werden.
Danke schonmal für hilfe.