Outlook VBA automatisch versenden PDF

Guten Tag

Ich möchte gerne das wenn ich das Outlook starte das er automatisch alle neuen PDF im Ordner z.B. C/ backup nimmt und diese weiter versendet.

Nun mein Problem:
Da in diesem Ordner täglich neue PDF hinein kommen und ich nicht immer wieder alle schicken muss. Ich muss täglich die aktuellen PDF ( von heute ) am Abend verschicken.

Mein VBA Skript sieht wie folgt bisher aus:

Option Explicit
Sub Auto_Open()

Const strEmpfänger As String = „Meine Email“
Const strVerzeichnis As String = „Pfad“

Dim miSenden As MailItem
Dim strFilename As String

strFilename = Dir(strVerzeichnis & „*.pdf“)
Do While strFilename > „“
Set miSenden = Application.CreateItem(olMailItem)
With miSenden
.To = strEmpfänger
.Subject = strFilename
.Body = „Anbei das Temperatur PDF“ & vbLf _
& „Freundliche Grüsse“ & vbLf _
& „Absender“
.Attachments.Add strVerzeichnis & strFilename
.Send
End With
strFilename = Dir
Loop
Set miSenden = Nothing
End Sub

Da ich keine Ahnung von dem VBA schreiben habe und ich bis jetzt alles aus Google habe komm ich leider nicht mehr weiter könnte mir jemand einen Lösungs Vorschlag machen?

Oder kann ich eine batch Datei erstellen die alle löscht sobald das PDF Älter ist als 1 Tag?

Würde mich freuen was zuhören von euch :smile:

Freundliche Grüsse Flo Eichinger

Hi Flo,

sorry, für die etwas verspätete Untwort. War im Urlaub.

Folgendes Makro versendet die PDF Datei, die das aktuelle Datum zum Namen hat (sh. Kommentar im Quellcode).

***************************************************
Option Explicit

Sub Send()
Dim oOL As Outlook.Application
Dim oOLMsg As Outlook.MailItem
Dim oOLRecip As Outlook.Recipient
Dim oOLAttach As Outlook.Attachment

Dim sFile As String, sRec As String, sSub As String
Dim sBody As String
Set oOL = Outlook.Application
sRec = „[email protected]
’ Pfad und Dateiname sähe für den 20.05.2012 im Ordner C:\PDF\
’ z. Bsp. so aus:
’ 20052012.pdf (Dateiname)
’ also: Tag und Monat jeweils zweistellig,
’ Jahr(vierstellig) alles ohne Punkte
’ bei anderen Dateinamensgebungen oder Pfadangaben Code entsprechend anpassen…
sFile = „C:\PDF“ & Replace(Date, „.“, „“) & „.pdf“ 'Punkte aus Datum entfernen

If Dir(sFile) = „“ Then
Beep
MsgBox „Datei wurde nicht gefunden!“
Exit Sub
End If

sSub = „Betreff“
sBody = "Anbei die Datei " & sFile
Set oOLMsg = oOL.CreateItem(0)
With oOLMsg
Set oOLRecip = .Recipients.Add(sRec)
.Subject = sSub
.Body = sBody
Set oOLAttach = .Attachments.Add(sFile)
.Send
oOLRecip.Resolve
End With
Set oOL = Nothing
End Sub

*******************************************************

Ich hoffe, i9ch konte Dir helfen…

MfG

Ralf