Forum des VBA-Tutorials

Emails nach Lieferant versenden (VBA)

DRO1989, Mittwoch, 06. Dezember 2017, 08:16 (vor 9 Tagen) @ PhilS

Guten Morgen,

ich dachte der Morgen fängt besser an, aber irgendwie brauche ich eine Unterstützung sonst komm ich hier nicht weiter. :-(

Ich habe mir jetzt folgende Codes zusammengebastelt:

Outlook - Applikation

'Mail zusammenstellen und versenden
Private Sub Mailsenden(ByVal MailBody As String, ByVal oRecipient As String, ByVal oName As String, ByVal Subject As String)
 
    Const olFolderInbox = 6
    Const olFolderOutbox = 4
    Const olMailItem = 0
 
    Dim olApp       As Object 'Outlook.Application
    Dim olNamespace As Object 'Outlook.NameSpace
    Dim objMailItem As Object 'Outlook.MailItem
    Dim objFolder   As Object 'Outlook.mapiFolder

    Set olApp = CreateObject("Outlook.Application")
    Set olNamespace = olApp.GetNamespace("MAPI")
    Set objFolder = olNamespace.GetDefaultFolder(olFolderInbox)
    Set objMailItem = objFolder.Items.Add(olMailItem)
    Dim oBody As String
    Dim Ablage As String
    Dim oSubject As String
 
    Ablage = "Q:\LU\Test\Bericht_Lieferant_Bewertung_11232017.pdf"
 
    Dim AttachmentFiles1 As String
 
    AttachmentFiles1 = Ablage
 
    oBody = "TEST"
 
    oSubject = "Anfrage"
 
 
    Set olApp = CreateObject("Outlook.Application")
    Set olNamespace = olApp.GetNamespace("MAPI")
    Set objFolder = olNamespace.GetDefaultFolder(olFolderInbox)
    Set objMailItem = objFolder.Items.Add(olMailItem)
 
    With objMailItem
        .To = " "
        .Subject = oSubject
        .Body = oBody
        .Attachments.Add AttachmentFiles1
        .Display
 
    End With
End Sub

und hier meinen Button, worüber ich versende!

Private Sub bt_versenden_Click()
 
'Mail vorbereiten

Dim RS As DAO.Recordset
Dim RT As DAO.Recordset
Dim MailBody As String
Dim email As String
Dim oRecipient As String
Dim oName As String
Dim Subject As String
 
 
'Daten auf Kriterium Filtern!!
Set RT = CurrentDb.OpenRecordset("SELECT Lieferant " & _
                        "From Filter_Ausschreibung_original " & _
                        "GROUP BY Lieferant " & _
                        "ORDER BY Lieferant;", dbOpenDynaset)
 
'MailBody zusammenstellen
RT.MoveFirst
Do Until RT.EOF
 
'Mail-Empfänger <= Hier muss das hin!!!
oRecipient = RT!Lieferant
'oName = RSA!Lieferanz

    'und mit diesem Filter die Daten eingrenzen:
    Set RS = CurrentDb.OpenRecordset("Select * FROM Filter_Ausschreibung_original WHERE Lieferant = '" & RT!Lieferant & "'", dbOpenDynaset)
    RS.MoveFirst
 
            Do Until RS.EOF
            MailBody = " "
            RS.MoveNext
            Loop
        'Verweise beenden
        RS.Close
        Set RS = Nothing
 
'Mail senden
Mailsenden MailBody, oRecipient, oName, Subject
 
RT.MoveNext
Loop
RT.Close
Set RT = Nothing
End Sub
 
 

So, die Mails werden nun generiert. Je Lieferant, macht er einen Maildialog auf. So wollte ich das auch. Wie bekomme ich nun meine temporäre Abfrage in den Code??? Und wie kann ich den Betreff "Anfrage" & Lieferant benennen???

Ich scheitere ständig am Anhang. Ich hab das noch nie mit einer temporären Abfrage gemacht...


gesamter Thread:

 RSS-Feed dieser Diskussion

powered by my little forum