Anzeige
Archiv - Navigation
1336to1340
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

PDF automatisch in Outlook

PDF automatisch in Outlook
01.11.2013 09:40:13
Heinz
Schönen Tag im Forum
Ich habe 2 Makro,im ersten wird ein Sheet als PDF erzeugt.
Im zweiten wird der Outlook geöffnet und versendet.
Nun möchte ich erreichen,Wenn ich das Makro Sub PDF_Drucker_Einstellen()
starte,das sich das Makro mitöffnet und die PDF Datei als Anhhang eingefügt wird.
Es sollte also eine PDF Datei generiert werden,und als Anhang in Outlook eingefügt werden.
Könnte mir dazu bitte jemand helfen?
Gruß Heinz
  • Public Sub PDF_Drucker_Einstellen()
    Dim sDruckerAktuell As String
    sDruckerAktuell = Application.ActivePrinter 'Aktuellen Drucker merken
    Application.ActivePrinter = "Nitro PDF Creator 2 (Reader) auf Ne00:" 'Zu Hause
    ActiveWindow.SelectedSheets.PrintOut Copies:=1
    Application.ActivePrinter = sDruckerAktuell
    End Sub
    
    Sub sendMail()
    Dim mePDFD As String
    Dim MyOutApp As Object, MyMessage As Object
    mePDFD = ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"
    '"\test.pdf" - Fester Name
    Set MyOutApp = CreateObject("Outlook.Application")
    Set MyMessage = MyOutApp.CreateItem(0)
    With MyMessage
    .To = "test1@gmx.at"
    .CC = "test2@gmx.at" & ";" & "test3@gmx.at"
    .Subject = "Gesperrte Ware vom " & Sheets("Drucken").Range("B1")
    .body = "Lg!"
    '.Attachments.Add mePDFD
    .Display
    '.Send
    'Kill mePDFD
    End With
    Set MyOutApp = Nothing
    Set MyMessage = Nothing
    MsgBox "Outlook kann nicht geöffnet werden!", vbCritical, "Schade"
    End Sub

  • 9
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: PDF automatisch in Outlook
    01.11.2013 14:59:57
    fcs
    Hallo Heinz,
    bei Verwendung eines PDF-Druckers muss man mit dem Start des E-Mail-Programms warten, bis die PDF-Datei fertiggestellt ist Das ist etwas mühselig zu programmieren. Da ist es einfacher den E-Mail-Versand separat zu starten.
    In Excel 2010 (seit Excel 2007) kannst du ein Tabellenblatt auch direkt als PDF speichern. Dann ist es auch kein Problem den Start von Outlook zu steuern inklusive Übergabe des Dateinamens als Parameter.
    Welchen Weg willst du jetzt weiterverfolgen?
    mfg
    Franz

    AW: PDF automatisch in Outlook
    01.11.2013 16:36:21
    Heinz
    Hallo Franz
    Im esrten Makro wird die Pdf mittels Drucker erstellt,das dann in einen Netzwerk gespeichert wird.
    Die gespeicherte PDF wird dann in Outlook versendet.Ist normal auch Okay.
    Mir geht es darum das die meisten Mitarbeiter in der Betreffzeile nichts eingeben,und die Mail so versenden.
    Ich wollte so erzwingen das die Betreffzeile ausgefüllt ist.
    Gruß Heinz

    Anzeige
    AW: PDF automatisch in Outlook
    01.11.2013 17:21:35
    mumpel
    Hallo!
    Das kannst Du mit einem Makro erledigen. Allerdings müsste das Makro in jedem Outlook vorhanden sein. Vorm Senden sicherstellen, dass der Betreff nicht fehlt. Das Makro reagiert auf jede neue Mail.
    Gruß, René

    AW: PDF automatisch in Outlook
    01.11.2013 17:27:49
    Heinz
    Hallo Mumpel
    Das wäre Möglichkeit,leider wird das bei 60% unserer Mitarbeiter nicht funktionieren.
    Ich möchte es hier nicht schreiben,warum es bei unseren Mitarbeitern nicht funktioniert.
    Eine einfachere Lösung wäre besser.
    Aber recht herzlichen Dank
    Gruß Heinz

    Anzeige
    AW: PDF automatisch in Outlook
    01.11.2013 18:36:30
    mumpel
    Mit dem Stichwort ExportAsFixedFormat solltest Du etwas anfangen können. habe ich hier und in anderen Foren schon sooft als Beispiel gepostet. Z.B. pdf erstellen, umbenennen und per mail senden

    AW: PDF automatisch in Outlook
    01.11.2013 19:13:04
    Heinz
    Hallo Mumpel
    Super damit kann ich etwas anfangen.
    Danke
    Gruß Heinz

    An mehrere CC
    02.11.2013 11:59:28
    Heinz
    Hallo Mumpel
    Habe deinen Code für mich angepasst.
    Funktioniert - Super. Danke
    Nur komme ich beim versenden an mehrere CC nicht zurecht.
    ZB. .CC = Range("D101").Value
    .CC = Range("D102").Value
    .CC = Range("D103").Value usw.
    Könntest du mir bitte nochmals weiterhelfen?
    Gruß Heinz
  • Option Explicit
    Sub AlsLASKSpeichern()
    Dim pdfName As String
    Dim pdfOpenAfterPublish As Boolean
    Dim olApp As Object
    Rem Rückfragen, ob Datei nach dem Erstellen geöffnet werden soll
    If MsgBox("Soll die PDF-Datei nach dem Erstellen angezeigt werden?", vbYesNo, "PDF anzeigen?") = _
    vbYes Then pdfOpenAfterPublish = True
    Rem Pfad und Name der PDF-Datei
    With Sheets("Drucken")
    pdfName = "Gesperrte Ware vom  " & Range("B1").Value & " " & ".pdf"
    End With
    Rem PDF-Datei erstellen. Funktioniert nur in Excel 2007 oder höher, nicht in Excel 2003 oder ä _
    lter
    Sheets("Drucken").ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, _
    Quality:=xlQualityStandard, IncludeDocProperties:=False,  _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=IIf(pdfOpenAfterPublish, True, False)
    Rem Email erstellen
    Set olApp = CreateObject("Outlook.Application")
    With olApp.CreateItem(0)
    .TO = Range("D100").Value
    .CC = Range("D101").Value
    .Subject = "Gesperrte Ware vom " & Sheets("Drucken").Range("B1").Value
    .htmlBody = "Der VA vom KE"
    .Attachments.Add pdfName
    .Display
    End With
    Rem Boolean-Variable "pdfOpenAfterPublish" zurücksetzen
    pdfOpenAfterPublish = False
    End Sub
    


  • Anzeige
    AW: An mehrere CC
    02.11.2013 20:53:17
    mumpel
    .CC = Range("D101") & ";" & Range("D102") & ";" & Range("D103")
    Du kannst das auch per Schleife zusammensetzen. Das Beispiel beginnt in Zeile 2 von Spalte D, und läuft bis es auf eine leere Zeile/Zelle in Spalte D stößt.

    AW: An mehrere CC
    03.11.2013 10:02:30
    Heinz
    Hallo Mumpel
    .CC = Range("D101") & ";" & Range("D102") & ";" & Range("D103")
    Danke Super.
    Recht herzlichen Dank
    Gruß Heinz

    300 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige