Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: Fraggle am August 07, 2019, 09:22:24 Vormittag

Titel: Office 2016 Zu dumm zum Drucken
Beitrag von: Fraggle am August 07, 2019, 09:22:24 Vormittag
Hallo liebe Gemeinde,

ich habe ein Problem wo ich einfach nicht weiter komme.

Ich habe einen Code der mir ein Sheet als PDF erstellt, dann Outlook öffnet und mir das PDF einfügt.
Es wird der Empfänger sowie CC eingetragen, und ein Text hinzugefügt.
Dann muss man nur noch die E-Mail versenden.

Das klappt super!

Jetzt will ich aber das er mir das Sheet auch noch gleichzeitig ausdruckt und da fängt das Problem an.

Ich habe schon so viel versucht, bekomme es aber einfach nicht hin den Druckbefehl zu integrieren,

Habt Ihr eine Idee wie ich das hin bekomme?


Sub pdf_per_mail()
    Dim pdf As String
    pdf = pdf_erstellen
    Call permail(pdf)
    Kill (pdf) 'pdf wieder löschen
End Sub

Function pdf_erstellen()
    Dim pdf As String
    Dim sep As String
    sep = Application.PathSeparator
    pdf = ThisWorkbook.Path & sep & ThisWorkbook.Name & ".pdf" 'Speicherpfad
   
    On Error Resume Next
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdf, _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    On Error GoTo 0
   
    pdf_erstellen = pdf
End Function
           
Sub permail(ByVal pdf As String)
Dim objOutlook As Object
Dim objMail As Object
Dim myAttachments

Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
Set myAttachments = objMail.Attachments

With objMail
    .To = "E-Mail-Adresse"
    .CC = "E-Mail-Adresse"
    .Subject = "Visuelle Kontrolle vor Werkzeugwartung (" & Range("T1").Text & ")"
    .Body = "Sehr geehrter Herr Baron-Schröder, " & vbNewLine _
        & vbNewLine _
        & "anbei erhalten Sie als PDF die Visuelle Kontrolle der vor-Werkzeugwartung." & vbNewLine _
        & vbNewLine _
        & "Mit freundlichen Grüßen" & vbNewLine _
        & vbNewLine _
        & "QS-Prüfraum" & vbNewLine _
        & vbNewLine _
        & vbNewLine _
        & vbNewLine _
        & "***Dies ist eine automatisch generierte E-Mail***"
       
    myAttachments.Add pdf 'Anhang

        'Nachricht zur Kontrolle anzeigen
    .Display

        'Oder direkt senden
        '.Send
End With
End Sub

Sub TabellenblattDrucken()
Sheets("Tabelle5").PrintOut
End Sub

Vielen Dank im Voraus

Fraggle
Titel: Antw: Office 2016 Zu dumm zum Drucken
Beitrag von: maninweb am August 07, 2019, 10:58:41 Vormittag
Hallo,

Du musst die Prozedur auch aufrufen ...

Code: Visual Basic
  1. Sub pdf_per_mail()
  2.     Dim pdf As String
  3.     pdf = pdf_erstellen
  4.     Call permail(pdf)
  5.     Kill (pdf) 'pdf wieder löschen
  6.    
  7.     TabellenblattDrucken
  8.    
  9. End Sub

Gruß
Titel: Antw: Office 2016 Zu dumm zum Drucken
Beitrag von: Fraggle am August 07, 2019, 12:27:56 Nachmittag
Hallo maninweb,

Vielen Dank für deine Hilfe!

Da hätte ich wirklich selber drauf kommen können, manchmal sieht man den Wald vor lauter bäumen nicht mehr...

Danke und Gruß
Fraggle