Das Archiv des Excel-Forums

automatisches löffnen der vorletzten datei

Bild

Betrifft: automatisches löffnen der vorletzten datei
von: legion

Geschrieben am: 24.09.2003 17:50:47

hab mich vertan da kommt gar keine FEhlermeldung. Ich klick en Button zur Aktivierung des Makros doch nichts geschieht..unten steht der quelltext.
hat jemand eine idee wodran es liegen könnt?









Hallo ?,
in der Zeile:

' Hier kommt dein Code zur verarbeitung der Textdatei

ist die Textdatei geöffnet.

In welcher Zeile kommt die Fehlermeldung?

Gruß
Nepumuk


Bezieht sich auf diese Nachricht:
hallo nochmals.

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.

Bild


Betrifft: AW: automatisches löffnen der vorletzten datei
von: Nepumuk
Geschrieben am: 24.09.2003 18:00:30

Hallo ? (leg dir endlich mal einen Namen zu)
wie viele Beiträge denn noch? Hast du schon mal den Pfad zu deinen Dateien angepasst? Das passiert in der Zeile:

Pfad = ThisWorkbook.Path

Dort wird jetzt der Pfad von der Excelmappe eingetragen in dem sich der Code befindet. Dieser muss ja nicht mit dem Pfad zu deinen Textdateien übereinstimmen. Nach deinem Beispiel müsste in der Zeile folgendes stehen:

Pfad = "C:\test\"

Gruß
Nepumuk


Bild


Betrifft: AW: automatisches löffnen der vorletzten datei
von: thomas
Geschrieben am: 24.09.2003 21:05:28

sicher..schon versucht..


Bild


Betrifft: AW: automatisches löffnen der vorletzten datei
von: Nepumuk
Geschrieben am: 24.09.2003 21:39:55

Hallo Thomas,
schreib mal nach der Zeile:

Open .FoundFiles(Feld2(UBound(Feld2) - 1)) For Random As #hFile

einfach:

Stop

an diesem Punkt hält das Makro an, behält aber seine Variablen. Mit einem Rechtsklick in eine Symbolleiste kannst du eine der vier Symbolleisten des VBA-Editors aktivieren bzw. deaktivieren. Aktiviere mal die Symbolleiste "Debuggen". Markiere den Ausdruck:

.FoundFiles.Count

und dann in der Symbolleiste das Brillensymbol. Da öffnet sich ein Fenster und dir wird der Wert des markierten Ausdrucks angezeigt. Schreib mir mal, was da für ein Wert drinsteht.

Gruß
Nepumuk


 Bild

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

Automatisches Komplettieren einer Zelleingabe download