downloader94
Goto Top

VBScript - Zuletzt geänderte Datei auswählen

Die zuletzt geänderte Datei mit einer Email versenden

Hallo,
ich will aus einem Ordner die zuletzt geänderte Datei mit einer Email versenden.
Den Code für die Email habe ich schon. Nun möchte ich, das das VBScript
die zuletzt geänderte Datei findet, damit ich sie an dieser Stelle aus Variable einsetzen kann:
...
         objMessage.AddAttachment "Hier kommt die Variable hinein"  
...
Ich habe auch schon im Internet gesucht unf folgendes gefunden:
VBS - zuletzt erstellte Verzeichnis per vbs auswählen
Das ist aber nur für Ordner. Ich habe auch schon versucht das Wort Folder durch File zu ersetzen, aber das ging auch nicht.
Falls mir jemand den Code umschreiben könnte, wäre ich ihm sehr dankbar.

LG downloader94

Content-Key: 120360

Url: https://administrator.de/contentid/120360

Printed on: April 16, 2024 at 14:04 o'clock

Mitglied: 76109
76109 Jul 14, 2009 at 12:20:33 (UTC)
Goto Top
Hallo downloader94!

Probiers mal damit:
Const Path = "F:\$Scripts\Test"  

Dim Fso As Object , File As Object, FileName As String, FileTime As Date
    
Set Fso = CreateObject("Scripting.FileSystemObject")  
 
For Each File In Fso.GetFolder(Path).Files
    If FileTime < File.DateLastModified Then
        FileTime = File.DateLastModified
        FileName = File.Path   'Datei-Pfad  
       'FileName = File.Name   'Datei-Name  
    End If
Next
    
MsgBox FileName & vbTab & " Letzte Änderung: " & FileTime  

'objMessage.AddAttachment FileName  

Den Const-Path musst Du entsprechend anpassen und für Varable FileName kannst Du wählen, ob nur der Dateiname oder der komplette Pfad übergeben werden soll.

Mit der MsgBox kannst Du erst mal testen und danach die Codezeile entfernen.

Gruß Dieter
Member: downloader94
downloader94 Jul 14, 2009 at 20:30:46 (UTC)
Goto Top
Danke Dieter.

Als ich den Code eingegeben hatte, da kam dann immer die Fehlermeldung 800A0401 bei dem Zeichen "As" (2.Zeile Zeichen 10). Da habe ich in der ganzen 2.Zeile die "As" weggemacht und dann ging es.
Hat das irgendwas zu bedeuten?


Ich hätte jetzt noch eine Frage:
Und zwar haben die Dateien, die in dem Ordner sind bestimmte Namen. Zuerst steht eine feste Nummer, dann ein Bindestrich und dann der Monat als 2 Zahlen und danach das Jahr als 2 Zahlen. Meine Frage wäre jetzt: Ist es auch möglich der festen Nummer einen Namen zuzuordnen (z.B. die Nummer 12345 hat den Namen Max) und den Monat als Wort und das Jahr mit 4 Zahlen (2009) als Nachicht auszugeben? Das soll nur nochmal zur Überprüfung sein, damit auch die Datei mit dem richtigen Monat genommen wird.
Danke im voraus.


Lg downloader94
Mitglied: 76109
76109 Jul 14, 2009 at 21:08:36 (UTC)
Goto Top
Hallo downloader94!

War nicht sicher ob Du jetzt VBA oder VB-Script verwendest. Habe es in der Überschrift übersehenface-smile

Für VB-Script diesen Code:
Const Path = "F:\$Scripts\Test"  

Dim Fso, File, FileName, FileTime
    
Set Fso = CreateObject("Scripting.FileSystemObject")  
 
FileTime = DateValue("01.01.1980")  

For Each File In Fso.GetFolder(Path).Files
    If FileTime < File.DateLastModified Then
        FileTime = File.DateLastModified
        FileName = File.Path   'Datei-Pfad  
       'FileName = File.Name   'Datei-Name  
    End If
Next
    
MsgBox FileName & vbTab & " Letzte Änderung: " & FileTime  

'objMessage.AddAttachment FileName  

Gruß Dieter

PS. Bei Deiner anderen Frage kann ich leider nicht ganz folgen. 12345 = Max??? Schreib mal präzise Beispiele vor- und nachher...