Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Friedrichroda /
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
  Serienemail mit neuer Ansprache versenden Emjay 1 45 18.03.2017, 15:43
Letzter Beitrag: GMG-CC
  E-Mail senden Tuempeltaucher 4 67 08.03.2017, 12:49
Letzter Beitrag: Tuempeltaucher
Lightbulb Mail mit bestimmten inhalt aus Excel tc_charly 4 114 08.03.2017, 12:31
Letzter Beitrag: Steffl
  Excel soll herausfinden, ob 6 eine Zahl von den Zahlen 1,2,3,4,5 ist. o0Julia0o 11 250 16.02.2017, 09:25
Letzter Beitrag: BoskoBiati
  Statt FALSCH soll Excel "Bestellen" anzeigen o0Julia0o 2 103 15.02.2017, 19:42
Letzter Beitrag: o0Julia0o
  Mehrere Tabellenblätter per E-Mail senden vanityvicious 2 100 14.02.2017, 18:30
Letzter Beitrag: snb
  hyperlink in mail KS20 1 96 08.02.2017, 10:24
Letzter Beitrag: nitrosworld
  Mail per VBA erzeugen und automatisch Link in Inhalt einfügen eitel91 4 148 31.01.2017, 13:09
Letzter Beitrag: eitel91
  PDF generieren, Mail öffnen Blitzkönig 1 124 30.01.2017, 18:15
Letzter Beitrag: schauan
  Basic-Formel Rückfrage Felix T. 2 95 16.01.2017, 17:22
Letzter Beitrag: Felix T.

Gehe zu:


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