Microsoft Excel

Herbers Excel/VBA-Archiv

VBA Anhang

Betrifft: VBA Anhang von: Natascha
Geschrieben am: 20.08.2014 10:46:24

Hallo zusammen,

ich habe hier ein Makro, welches die Mails automatisch aus Excel generiert.
Jetzt würde ich gern an einige E-Mails (nur die mit bestimmten Text) eine PDF-Datei automatisch anhängen.
Ich hab schon einiges ausprobiert aber ich bekomme das irgendwie nicht hin.
Kann mir jemand helfen?

Hier mein bisheriger Code:

Sub Excel_Serial_Mail()
    Dim MyOutApp As Object, MyMessage As Object
    Dim i As Long
    Dim lastrow As Long
    Dim textvariable As String
  
            
    lastrow = Range("A65536").End(xlUp).Row
    For i = 2 To lastrow
  
    textvariable = Cells(i, 8) & vbCrLf & vbCrLf & _
            "Aufgrund der Datenschutzbestimmungen können wir Ihnen per E-Mail keine weiteren  _
Angaben übermitteln. Sollten Sie den Kunden nicht zuordnen können, " & _
            "kontaktieren Sie uns bitte per Telefon, so dass wir Ihnen den Kundennamen  _
mitteilen können." & _
            " Vielen Dank." & vbCrLf & _
            "Für Fragen stehen wir Ihnen gern zur Verfügung." & vbCrLf & vbCrLf & _
            "Mit freundlichen Grüßen" & vbCrLf & _
            "Händlergeschäft" & vbCrLf & vbCrLf & _
            "Firma" & vbCrLf & _
            "Händlergeschäft" & vbCrLf & _
            "Postfach 10 02 55" & vbCrLf & _
            "47002 Duisburg" & vbCrLf & vbCrLf & _
            "Tel.: +49 (0)89 55 11 - 33 76" & vbCrLf & _
            "Fax:  +49 (0)203 8 79 - 52 09" & vbCrLf & vbCrLf & _
            "e-commerce@firma.com" & vbCrLf & vbCrLf & _
            "Amtsgericht München HRB 2066" & vbCrLf & _
            "Bitte denken Sie an die Umwelt, bevor Sie diese E-Mail ausdrucken!" & vbCrLf & _
            "Before printing, think about environmental responsibility!"

            
        Set MyOutApp = CreateObject("Outlook.Application")
        Set MyMessage = MyOutApp.CreateItem(0)
        With MyMessage
            .To = Cells(i, 5)
            .Subject = Cells(i, 9)
            .body = textvariable
            .display
        End With
       
        Set MyOutApp = Nothing
        Set MyMessage = Nothing
        
        'SendKeys ("%s")
        
        Application.Wait (Now + TimeValue("0:00:02"))
    Next i
End Sub
Danke und viele Grüße
Natascha

  

Betrifft: AW: VBA Anhang von: Rudi Maintaire
Geschrieben am: 20.08.2014 12:38:32

Hallo,

        With MyMessage
            .To = Cells(i, 5)
            .Subject = Cells(i, 9)
            .body = textvariable
            .display
            .attachments.add "Pfad zum Anhang"
        End With
Gruß
Rudi


  

Betrifft: AW: VBA Anhang von: Natascha
Geschrieben am: 20.08.2014 12:46:23

Supi, vielen Dank schon mal.

Und wie krieg ich es jetzt hin, dass die Datei nur bei einem bestimmten Text angehangen wird?
Dafür müsste/könnte ich doch eine IF Funktion einbauen oder?

VG
Natascha


  

Betrifft: AW: VBA Anhang von: Klaus M.vdT.
Geschrieben am: 20.08.2014 13:18:29

Hallo Natascha,
wo kommt der bestimmte Text denn her? Im Prinzip so, einfach mit IF

If "bestimmte Zelle".value = "bestimmter Text" then .attachments.add "Pfad zum Anhang"


  

Betrifft: AW: VBA Anhang von: Rudi Maintaire
Geschrieben am: 20.08.2014 13:18:52

Hallo,
Dafür müsste/könnte ich doch eine IF Funktion einbauen oder?
genau!

        With MyMessage
            .To = Cells(i, 5)
            .Subject = Cells(i, 9)
            .body = textvariable
            .display
            If Bedingung Then
              .attachments.add "Pfad zum Anhang"
            End If
        End With

Gruß
Rudi


  

Betrifft: AW: VBA Anhang von: Natascha
Geschrieben am: 20.08.2014 13:33:14

Das funktioniert 1A,
vielen Dank für die Hilfe.

VG
Natascha