Juli 10, 2020, 15:11:18

Neuigkeiten:

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


Serien Emails mit variablen Anhängen in ACCESS im Entwurf erstellen

Begonnen von ToBu, Mai 26, 2020, 14:28:12

⏪ vorheriges - nächstes ⏩

ToBu

Ich möchte mehrere individuelle PDF-Dateien mit persönlichem Anschreibe-Text und Betreff an persönliche Email Adressen zunächst einmal als Entwurf mittels VBA Ereignisprozedur in einem Private Sub per Button-Click erstellen. Der persönliche Anschreibetext soll aus einem  bereits vorliegenden Serien-Bericht als Email Text übernommen werden. Im Internet bin ich auf folgende Prozedur gestoßen, die ich etwas abgewandelt verwendet habe. Leider kommt folgende Fehlermeldung: Benutzerdefinierter Typ nicht definiert!
Kann mir jemand wieder helfen?
Viele Grüße ToBu
Hier die verwendete Prozedur:

Private Sub Befehl63_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
   
    Dim strSQL As String
    Dim emailTo As String
    Dim emailSubject As String
    Dim emailText As String

    Dim outApp As Outlook.Application
    Dim outMail As Outlook.MailItem
    Dim outlookStarted As Boolean
   
    On Error Resume Next
    Set outApp = GetObject(, "Outlook.Application")
    On Error GoTo 0
    If outApp Is Nothing Then
        Set outApp = CreateObject("Outlook.Application")
        outlookStarted = True
    End If
    Set db = CurrentDb
    Set rs = db.OpenRecordset("SELECT MitglNr, Anrede, NameMitarbeiter, PersEmail " & _
                                " FROM EmailVersandDaten")
    Do Until rs.EOF
        emailTo = Trim(rs.Fields("MitglNr").Value & "_" & rs.Fields("NameMitarbeiter").Value) & _
                    " <" & rs.Fields("PersEmail").Value & ">"
           
        emailSubject = "Aktuelle Ergebnisse Marktstatistiken Konfektion Tücher bzw. Markisengestelle"
        'strSQL = "Serienbericht(MitglNr)"
        emailText = strSQL
     
        Set outMail = outApp.CreateItem(olMailItem)
        outMail.To = emailTo
        outMail.Subject = emailSubject
        outMail.Body = emailText
        outMail.Send
Stop
        rs.MoveNext
    Loop
   
    rs.Close
    Set rs = Nothing
    Set db = Nothing
   
    If outlookStarted Then
        outApp.Quit
    End If
   
    Set outMail = Nothing
    Set outApp = Nothing
   
End Sub

DF6GL

Entweder ist Outlook nicht installiert oder der Verweis auf die Outlook-Library nicht gesetzt.

ToBu

Hallo Franz,
ich habe übersehen, dass das Häkchen nicht gesetzt war und dieses nun entsprechend gesetzt. Jetzt funktioniert es tatsächlich! Vielen Dank!
Die Email Adressen werden richtig übergeben, der Betreff ebenso. aber wie bekomme ich den Inhalt des Serienberichts in den Text?
Mir fehlt wieder einmal die VBA Syntax zur Übergabe mit Kriterium MitglNr. Geht das über DoCmd.Report oder strSQL?
Besten Dank für deine Hilfe!
Gruß ToBu