Neueste Datei anfügen.bat
Guten Morgen zusammen =)
Ich hätte da mal eine Frage und zwar
Ich würde gerne eine .bat erstellen die folgendes kann:
1. Eine Outlook Nachricht erstellen
2. Empfänger (sample@gmail.com) einfügen
3. Betreff: "Löhne" einfügen
4. In die Nachricht C:\DiesDas\PDF\alles\Neustes erstelltes PDF anfügen
5. In die Nachricht \\Server\Stick\Dokumente\Neuste erstellte Datei anfügen
6. Die Nachricht nicht senden, sondern im Feld für den Nachrichtentext stehen bleiben
würde das denn gehen?
Vielen Dank schon einmal im Voraus
Freundliche Grüße
Jeremy
Ich hätte da mal eine Frage und zwar
Ich würde gerne eine .bat erstellen die folgendes kann:
1. Eine Outlook Nachricht erstellen
2. Empfänger (sample@gmail.com) einfügen
3. Betreff: "Löhne" einfügen
4. In die Nachricht C:\DiesDas\PDF\alles\Neustes erstelltes PDF anfügen
5. In die Nachricht \\Server\Stick\Dokumente\Neuste erstellte Datei anfügen
6. Die Nachricht nicht senden, sondern im Feld für den Nachrichtentext stehen bleiben
würde das denn gehen?
Vielen Dank schon einmal im Voraus
Freundliche Grüße
Jeremy
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 251020
Url: https://administrator.de/contentid/251020
Ausgedruckt am: 21.11.2024 um 22:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo Jeremy,
mit VBS geht das z.B. :
Grüße Uwe
mit VBS geht das z.B. :
Dim strFile1,strFile2,objMail, fso, objOutlook
'---------------------------------------
Const FOLDER1 = "C:\DiesDas\PDF\alles"
Const FOLDER2 = "\\Server\Stick\Dokumente"
Const MAILTO = "sample@gmail.com"
Const SUBJECT = "Löhne"
Const BODY = "Die Löhne finden sie im Anhang."
'---------------------------------------
Set fso = CreateObject("Scripting.Filesystemobject")
Set objOutlook = CreateObject("Outlook.Application")
strFile1 = getNewestFile(FOLDER1, "pdf")
strFile2 = getNewestFile(FOLDER2, "")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = MAILTO
.Subject = SUBJECT
.Body = BODY
If strFile1 = "" Then
MsgBox "Es wurde keine Datei in Ordner 1 gefunden", vbExclamation
Else
.Attachments.Add strFile1
End If
If strFile2 = "" Then
MsgBox "Es wurde keine Datei in Ordner 2 gefunden", vbExclamation
Else
.Attachments.Add strFile2
End If
.Display
End With
Set fso = Nothing
Set objOutlook = Nothing
Function getNewestFile(strFolder,strType)
Set objFile = Nothing
For Each file In fso.GetFolder(strFolder).Files
If strType <> "" Then
If fso.GetExtensionName(file.Path) = strType Then
If objFile Is Nothing Then
Set objFile = file
ElseIf (file.DateLastModified > objFile.DateLastModified) Then
Set objFile = file
End If
End If
Else
If objFile Is Nothing Then
Set objFile = file
ElseIf (file.DateLastModified > objFile.DateLastModified) Then
Set objFile = file
End If
End If
Next
If Not objFile Is Nothing Then
getNewestFile = objFile.Path
Else
getNewestFile = ""
End If
End Function
Zitat von @Questionmark93:
Perfekt das klappt prima, nun möchte ich aber bei den PDF Dateien noch, da es 2 neue Files sind, das es beide nimmt, ginge
das auch? =)
Perfekt das klappt prima, nun möchte ich aber bei den PDF Dateien noch, da es 2 neue Files sind, das es beide nimmt, ginge
das auch? =)
Dim objMail, objOutlook,oList
'---------------------------------------
Const FOLDER1 = "C:\Ordner1"
Const FOLDER2 = "C:\Ordner2"
Const MAILTO = "sample@gmail.com"
Const SUBJECT = "Löhne"
Const BODY = "Dein Body"
'---------------------------------------
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = MAILTO
.Subject = SUBJECT
.Body = BODY
'Dateien im Ordner 1 einlesen
Set oList = getNewestFiles(FOLDER1,"pdf")
If oList.RecordCount > 0 Then
oList.MoveFirst
For i = 1 To oList.RecordCount
If i = 3 Then Exit For
.Attachments.Add oList.Fields("name").Value
oList.MoveNext
Next
oList.Close
Else
MsgBox "Keine entsprechenden Dateien im Ordner 1 gefunden"
End If
'Dateien im Ordner 2 einlesen
Set oList = getNewestFiles(FOLDER2,"xml")
If oList.RecordCount > 0 Then
oList.MoveFirst
.Attachments.Add oList.Fields("name").Value
oList.Close
Else
MsgBox "Keine entsprechenden Dateien im Ordner 2 gefunden"
End If
.Display
End With
Set objOutlook = Nothing
Set oList = Nothing
Set objMail = Nothing
'Bestimmte Dateien eines Verzeichnisses in ein Recordset einlesen und Absteigend nach Datum sortieren
Function getNewestFiles(strFolder,strEXT)
Set objList = CreateObject("ADOR.Recordset")
Set fso = CreateObject("Scripting.Filesystemobject")
objList.Fields.Append "name", 200, 255
objList.Fields.Append "date", 7
objList.Open
For Each file In fso.GetFolder(strFolder).Files
If fso.GetExtensionName(file.Path) = strEXT Then
objList.AddNew
objList("name").Value = file.Path
objList("date").Value = file.DateLastModified
objList.Update
End If
Next
objList.Sort = "date DESC"
Set getNewestFiles = objList
Set fso = Nothing
End Function
Zitat von @Questionmark93:
ich will beim 2ten, das er mir die letzte xml Datei ausgibt
ich bekomm das grad nicht auf die Reihe :D
kommt alles tröpfchenweise bei dir ...schreib das oben doch gleich richtig in deinen Post ich will beim 2ten, das er mir die letzte xml Datei ausgibt
ich bekomm das grad nicht auf die Reihe :D
ist im letzten Post ensprechend angepasst ....