Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


Excel soll mit Visual Basic Mail versenden als PDF
#1
Hallo,
Ich bin neu hier im Forum und habe mich auch noch nicht vorgestellt.Das werde ich auch noch baldmöglichst nachholen.

Natürlich habe ich eine Frage zu Excel. Genauer zu Visual Basic in Excel:
Ich habe eine Excel-Datei mit mehreren Blattregistern / Tabellenreitern. Eine Tabelle davon möchte ich gerne mit einem Macro automatisch per Email versenden. Ich versuche nun schon eine Zeit lang aber ich bekomme es nicht hin, nur das die ganze Arbeitsmappe als PDF versendet wird bzw. nur die eine Seite, aber dann nicht als PDF. Ich hänge gerade an dem Punkt, und hoffe man kann mir hier helfen um meinen Lapsus zu beseitigen.

Hier der Code, den ich mir erlesen und zusammengestückelt habe. Damit sende ich die gesamte Arbeitsmappe als PDF.
69
Code:
Sub sendMail()
Dim mePDFD As String
Dim MyOutApp As Object, MyMessage As Object




    ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        ThisWorkbook.Path & "\testPDF.pdf", Quality:=xlQualityStandard _
        , IncludeDocProperties:=False, IgnorePrintAreas:=False, _
        OpenAfterPublish _
        :=False


mePDFD = ThisWorkbook.Path & "\testPDF.pdf"
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
    With MyMessage
        .To = "info@test.dee"
        .Subject = "Bestellung der Speisen für kommende Woche" 'Betreffzeile
        .body = "Sehr geehrte Damen und Herren, anbei die Bestellung für" & _
          "kommende Woche. Vielen Dank"
        .Attachments.Add mePDFD
        .Display
        '.Send
        Kill mePDFD
    End With
    Set MyOutApp = Nothing
    Set MyMessage = Nothing
End Sub

Vielen vielen leiben Dank.
to top
#2
Hallo,

so sollte das aktive Blatt exportiert werden (aber ungetestet):

Code:
Sub sendMail()
  Dim mePDFD As String
  Dim MyOutApp As Object, MyMessage As Object
  
  mePDFD = ThisWorkbook.Path & "\testPDF.pdf"

  ActiveSheet.Copy
  
  ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=mePDFD, _
    Quality:=xlQualityStandard, IncludeDocProperties:=False, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
  ActiveWorkbook.Close False

  Set MyOutApp = CreateObject("Outlook.Application")
  Set MyMessage = MyOutApp.CreateItem(0)
  With MyMessage
    .To = "info@test.dee"
    .Subject = "Bestellung der Speisen für kommende Woche" 'Betreffzeile
    .body = "Sehr geehrte Damen und Herren, anbei die Bestellung für" & _
      "kommende Woche. Vielen Dank"
    .Attachments.Add mePDFD
    .Display
    '.Send
  End With
  
  Kill mePDFD
  Set MyMessage = Nothing
  Set MyOutApp = Nothing
End Sub

Gruß Uwe
to top
#3
Vielen lieben Dank.

Ich habe noch folgende Änderung gemacht, und dann ging alles, wie ich es haben wollte.

Herzlichen Dank für die schnelle Hilfe.

Code:
Sub sendMail()
  Dim mePDFD As String
  Dim MyOutApp As Object, MyMessage As Object
  
  mePDFD = ThisWorkbook.Path & "\testPDF.pdf"

  Sheets("Fertig").Copy
  
  ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=mePDFD, _
    Quality:=xlQualityStandard, IncludeDocProperties:=False, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
  ActiveWorkbook.Close False

  Set MyOutApp = CreateObject("Outlook.Application")
  Set MyMessage = MyOutApp.CreateItem(0)
  With MyMessage
    .To = "info@test.dee"
    .Subject = "Bestellung der Speisen für kommende Woche" 'Betreffzeile
    .body = "Sehr geehrte Damen und Herren, anbei die Bestellung für" & _
      "kommende Woche. Vielen Dank"
    .Attachments.Add mePDFD
    .Display
    '.Send
  End With
  
  Kill mePDFD
  Set MyMessage = Nothing
  Set MyOutApp = Nothing
End Sub

Danke nochmal :-)[/code]
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Excel soll herausfinden, ob 6 eine Zahl von den Zahlen 1,2,3,4,5 ist. o0Julia0o 11 183 16.02.2017, 09:25
Letzter Beitrag: BoskoBiati
  Statt FALSCH soll Excel "Bestellen" anzeigen o0Julia0o 2 58 15.02.2017, 19:42
Letzter Beitrag: o0Julia0o
  Mehrere Tabellenblätter per E-Mail senden vanityvicious 2 45 14.02.2017, 18:30
Letzter Beitrag: snb
  hyperlink in mail KS20 1 50 08.02.2017, 10:24
Letzter Beitrag: nitrosworld
  Mail per VBA erzeugen und automatisch Link in Inhalt einfügen eitel91 4 98 31.01.2017, 13:09
Letzter Beitrag: eitel91
  PDF generieren, Mail öffnen Blitzkönig 1 68 30.01.2017, 18:15
Letzter Beitrag: schauan
  Basic-Formel Rückfrage Felix T. 2 52 16.01.2017, 17:22
Letzter Beitrag: Felix T.
  Visual Basic: Laufzeitfehler 1004 Nordlicht85 10 120 12.01.2017, 16:35
Letzter Beitrag: atilla
  VBA - Nur Werte statt Formeln und Druckbereich per Mail versenden schusti77 7 179 06.01.2017, 10:06
Letzter Beitrag: schusti77
  Information an Mitgleider per eMail versenden wenn Änderung vorhanden Daniel Albert 4 140 03.01.2017, 21:52
Letzter Beitrag: Daniel Albert

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste