Das Archiv des Excel-Forums

automatisches öffnen der vorletzten datei

Bild

Betrifft: automatisches öffnen der vorletzten datei
von: legion

Geschrieben am: 20.09.2003 18:05:45

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.
Bild


Betrifft: AW: automatisches öffnen der vorletzten datei
von: Nepumuk
Geschrieben am: 20.09.2003 19:14:27

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


Bild


Betrifft: AW: automatisches öffnen der vorletzten datei
von: legion
Geschrieben am: 21.09.2003 14:13:18

bombiger quelltext. werd ich morgen einmal ausprobieren. tausend dank für die mühe!


Bild


Betrifft: AW: automatisches öffnen der vorletzten datei
von: Nepumuk
Geschrieben am: 20.09.2003 19:17:24

Hallo ?,
die Zuweisung an die Variable Pfad musst du natürlich noch an deine Bedürfnisse anpassen.
Gruß
Nepumuk


 Bild

Excel-Beispiele zum Thema " automatisches öffnen der vorletzten datei"

Automatisches Komplettieren einer Zelleingabe download