|
Guten Morgen,
ich habe eine Access DB, die per VBA schon eine mail mit Anhängen versendet.
Allerdings variiert, die Anzahl der mail Anhänge - es sind mindestens zwei, können aber auch bis zu 5 werden
Stand jetzt, habe ich im VBA Code Attachment.Add 5 x hinterlegt
Attachment.Add Anhang 1
Attachment.Add Anhang 2 etc....
Bei fünf Anhängen toll, wenn es nur 4 sind macht Access die mail auf, hängt alles dran und versendet - allerdings kommt dann eine Fehlermeldung,
da er ja Anhang 5 nicht findet.
Gibt es einen Kniff die Zahl der Anhänge zu definieren, also wenn nur 3 Anhänge aber ohne Fehlermeldung ?
Code füge ich bei
' Sub SendEmailWithAttachment()
Dim OutApp As Object
Dim OutMail As Object
Dim strSubject As String
Dim lastMonthDate As Date
Dim strBody As String
Dim SuchNumer As String
Dim OrdnerPfad As String
Dim Dateiname As String
Dim Dateiname1 As String
Dim Dateiname2 As String
Dim GefundeneDatei As String
Dim GefundeneDatei1 As String
Dim GefundeneDatei2 As String
Dim GefundeneDatei3 As String
Dim GefundeneDatei4 As String
' --- KONFIGURATION ---
suchNummer = Me![Konto-Nr-Evo_Kontakte]
OrdnerPfad = "C:\Users\ostiller\Downloads\" ' Pfad zum Ordner (mit \ am Ende)
' ---------------------
' Prüfen, ob der Pfad existiert
If Dir(OrdnerPfad, vbDirectory) = "" Then
MsgBox "Ordner nicht gefunden!", vbCritical
Exit Sub
End If
' Datei suchen (sucht Dateien, die SuchNummer enthalten)
Dateiname = Dir(OrdnerPfad & "*" & suchNummer & "*_PLE*.*")
Dateiname1 = Dir(OrdnerPfad & "Letter*" & suchNummer & "*.*")
Dateiname2 = Dir(OrdnerPfad & "*" & suchNummer & "*_SK*.*")
Dateiname3 = Dir(OrdnerPfad & "*" & suchNummer & "*_PLE*.xlsx")
Dateiname4 = Dir(OrdnerPfad & "*" & suchNummer & "*_SK*.xlsx")
If Dateiname = "" Then
MsgBox "Keine Datei mit der Nummer " & suchNummer & " gefunden.", vbExclamation
Exit Sub
End If
GefundeneDatei = OrdnerPfad & Dateiname
GefundeneDatei1 = OrdnerPfad & Dateiname1
GefundeneDatei2 = OrdnerPfad & Dateiname2
GefundeneDatei3 = OrdnerPfad & Dateiname3
GefundeneDatei4 = OrdnerPfad & Dateiname4
' Berechnet das Datum vor einem Monat
lastMonthDate = DateAdd("m", -1, Date)
With CreateObject("Outlook.Application").CreateItem(0)
.Display
.To = Me.email.Value
.subject = "Lademittelabstimmung " & Format(lastMonthDate, "mm-yyyy")
strBody = "<p>Sehr geehrte Damen und Herren,<br><br>" & vbCrLf & vbCrLf
.Attachments.Add GefundeneDatei
.Attachments.Add GefundeneDatei1
.Attachments.Add GefundeneDatei2
.Attachments.Add GefundeneDatei3
.Attachments.Add GefundeneDatei4
.HTMLBody = strBody & .HTMLBody
.Display
End With
|