Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

via Access 2-5 Anhänge aus Ordner per mail versenden

Begonnen von Revilo, März 06, 2026, 12:57:10

⏪ vorheriges - nächstes ⏩

Revilo

hallo und Guten Tag,
ich habe eine Access DB, die per VBA eine e-mail mit Anhängen versenden kann.
Access sucht die Anhänge anhand einer Kontonummer - das funktioniert ebenfalls.
Allerdings variiert, die Anzahl der Anhänge zwischen 2-5 Anhängen.
Aktuell kann ich nur "fehlerfrei" emails mit 5 Anhängen versenden.
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.

Meine Frage:
Gibt es einen Loop, den man nutzen kann oder einen anderen Kniff, um dies zu verschlanken bzw. fehlerfrei zu gestalten ? probiere es nun seit drei Tagen, aber ich komm nicht zum Ziel

Sorry mein Code sieht für "Profis" wohl eher schlimm aus - Sorry ;-)





Private Sub Befehl17_Click()


    ' 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-Kontakte]
    OrdnerPfad = "C:\Versand\" ' 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 = "Beispieltext " & 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



Knobbi38

Hallo Revilo,

wenn du Crossposting machst, solltest du die beiden Foren auch gegenseitig verlinken.

Knobbi38

Beaker s.a.

Hallo Revilo,
ZitatGibt es einen Loop, den man nutzen kann oder einen anderen Kniff
Schreibe die "gefundenen" Dateien in ein Array. Das kannst du dann in einer
Schleife abarbeiten.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Revilo

Hallo,

Ergänzend möchte ich noch hinzufügen, dass die DB nur Name, Konto-Nr und emailadresse enthält.

Aber danke für die Antwort, ich werde mich mit dem Thema Array dann mal beschäftigen


Revilo

Hallo, das Thema konnte mit Hilfe des Eintrags - Serien Emails mit variablen Anhängen in ACCESS im Entwurf erstellen - aus diesem Forum gelöst

Ich möchte mich für mein Crossposting entschuldigen - scheint ja zu stören, wenn man in mehreren Foren um Hilfe fragt,
aber bei der Suche um Hilfe bzw. Unterstützung sucht man halt mehrere Wege- Danke trotzdem

Grüsse

Revilo