Mehrere *.jpg im Loop an Email anhängen

Supatome

Benutzer
Beiträge
20
Hallo zusammen

Seit einiger Zeit versuche ich meinen Code anzupassen, damit zu Auftrag auch gleich die *.jpg (Artikelfotos) je Position der Email angehängt werden. Mit dem untenstehenden Code wir der Email (Auftrag, jedoch nur ein Artikelfoto) angehängt. Also stimmt etwas in der Schleife oder beim Mail (.Attachments.Add strFotoDateien) ich komme da aber nicht weiter.

Freue mich auf eure Unterstützung

Grüsse
SUPATOME

Code:
Private Sub txtABsenden_Click()

    Dim strDateiname As String
    Dim objafd As String
       strDateiname = "T:\data\Auftraege\" & Me.Firma & "_" & Me.Ort & "_" & AID & "_FC" & ".pdf"
       objafd = strDateiname
       eto = Me.Emailadresse
      
      
            DoCmd.GoToRecord , , acLast
            DoCmd.OpenForm "frmAuftragKonditionen", WhereCondition:="AID = " & AuftragID, WindowMode:=acDialog
            DoCmd.OpenReport "rptAuftrag", acViewPreview, WhereCondition:="AID = " & AuftragID
        
        
   '____________Bilder hinzufügen start__________
    Dim rst_Bild As DAO.Recordset
    Dim strFotoDateien As String
    Dim objafdBild As String
    objafdBild = strFotoDateien

    Set rst_Bild = CurrentDb.OpenRecordset("qyrAuftragBild", dbOpenForwardOnly, dbReadOnly)
    
    Do Until rst_Bild.EOF
               strFotoDateien = "T:\data\bilder\FC\" & Me.Artikel & ".jpg"
        rst_Bild.MoveNext
    Loop
    
'____________Bilder hinzufügen ende__________
        

            
        '1. PDF erzeugen
            DoCmd.OutputTo acOutputReport, "rptAuftrag", acFormatPDF, strDateiname

 
 
       ' 2. PDF anzeigen
            'FollowHyperlink strDateiname

            DoCmd.Close acReport, "rptAuftrag"
            DoCmd.Close acForm, "sfmvkposalle"
 

  ' Ein neue Outlook-Instanz und ein neues Mailitem erstellen
    
  
    Set myOutlApp = New Outlook.Application
    Set myMail = myOutlApp.CreateItem(olMailItem)
    
          

    With myMail
        .GetInspector.Display
        ' Den Empfänger der Mail festlegen
        .To = eto
        ' Den Betreff der Mail festlegen
        .Subject = "Auftrag "
        ' Text in die Mail einfügen
       .Body = "*** Dies ist eine formlose und automatisch generierte Email mit Ihrem Auftrag. ***" & vbCrLf & vbCrLf & "Sehr geehrter Kunde" & vbCrLf & vbCrLf & "Vielen Dank für Ihren geschätzten Auftrag." & vbCrLf & vbCrLf & "Freundliche Grüsse"
        ' Ein Attachment aus dem Dateisystem anhängen
        .Attachments.Add objafd
        .Attachments.Add strFotoDateien
        

        
        ' Die Email abschicken
        .Display
        ' Anstatt die Email sofort zu senden, kann man auch die Display-Methode des
        ' Mailitems verwenden, um die Email anzuzeigen und sie vom Benutzer manuell
        ' verschicken zu lassen.
        


    End With

    ' Die Outlook-Instanz beenden
    'myOutlApp.Quit

    ' Objektvariablen zerstören und Speicher freigeben
    Set myMail = Nothing
    Set myOutlApp = Nothing
    'Application.Screen = True
End Sub
 
Werbung:
Set rst_Bild = CurrentDb.OpenRecordset("qyrAuftragBild", dbOpenForwardOnly, dbReadOnly)

Do Until rst_Bild.EOF
strFotoDateien = "T:\data\bilder\FC\" & Me.Artikel & ".jpg"
rst_Bild.MoveNext
Loop
Schau dir mal die Codesequenz an.
Du öffnest ein Recordset und benützt den Inhalt überhaupt nicht.
Da fehlt die Logik.
Normalerweise würde ich erwarten, dass die Daten nach Anforderung gefiltert und dann in der Schleife auch genutzt werden um eine Liste von Dateien dem Mail anzufügen. Du fügst ja nur eine Datei an.
 
Werbung:
Zurück
Oben