Anzeige
Archiv - Navigation
1392to1396
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 per Mail sende

PDF per Mail sende
25.11.2014 22:55:37
dani
Hallo zusammen
Ich habe ein kleines Problem, bei dem meine bescheidenen VBA Kenntnisse nicht ausreichen.
Eine voll funktionsfähige Lösung mit einer xls Datei habe ich schon, doch ich möchte die Datei als PDF versenden.
Hier meine funzende VBA Version:
  • 
    Sub EMail__Senden_Ohne_Outlook()
    Dim iNachricht As Object, iKonfiguration As Object, Felder As Variant
    Dim strMailAdress$, strKennwort$, strTmpFile$
    strMailAdress = "xxxxxx@gmail.com"   '"Deine E-Mail-Adresse"
    strKennwort = "xxxxxxxxx"            'Passwort angeben
    'Datei für Anlage erstellen
    strTmpFile = ThisWorkbook.Path
    If Right$(strTmpFile, 1)  "\" Then strTmpFile = strTmpFile & "\"
    ChDrive strTmpFile
    ChDir strTmpFile
    'File Name für Nachricht
    strTmpFile = strTmpFile & "Mail_" & ThisWorkbook.Name
    'evtl. löschen fals vorhanden
    If Dir(strTmpFile, vbNormal)  "" Then Kill strTmpFile
    'eine kopie der Datei speichern
    ThisWorkbook.SaveCopyAs strTmpFile
    Set iNachricht = CreateObject("CDO.Message")
    Set iKonfiguration = CreateObject("CDO.Configuration")
    iKonfiguration.Load -1
    Set Felder = iKonfiguration.Fields
    With Felder
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = strMailAdress
    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = strKennwort
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" ' _
    Postausgangsserver
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 'SMTP-Port
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpservertimeout") = 60 'Timeout
    .Update
    End With
    With iNachricht
    Set .Configuration = iKonfiguration
    .To = "xxxxxx@Proviter.com"            'Empfänger
    .CC = ""                               'Zur Kenntnis
    .BCC = ""                              '.BCC nicht sichtbare Empfänger
    .Sender = strMailAdress                'Von
    .Subject = "Betreff"                   'Betreffzeile
    .TextBody = "Deine Nachricht!"         'Nachricht
    .AddAttachment strTmpFile              'Anlage
    .Send
    End With
    'Datei wieder löschen
    If Dir(strTmpFile, vbNormal)  "" Then Kill strTmpFile
    End Sub
    

  • Wie gesagt möchte ich jedoch die Datei als PDF versenden.
    Was muss ich am Code wie ändern?
    Danke schon mal für eure Hilfe
    Gruess Dani

    2
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: PDF per Mail sende
    26.11.2014 10:04:47
    fcs
    Hallo Dani,
    du muss 2 Code-Zeilen anpassen.
    1. Dateiname des Mailanhangs
    2. Statt Kopie der Datei zu speichern diese als PDF exportieren.
    Die Parameter
    Includedocproperties:=True
    IgnorePrintareas:=False
    musst du entsprechend deinen Anforderungen auf False oder True setzen
    Gruß
    Franz
    Sub EMail__Senden_Ohne_Outlook()
    Dim iNachricht As Object, iKonfiguration As Object, Felder As Variant
    Dim strMailAdress$, strKennwort$, strTmpFile$
    strMailAdress = "xxxxxx@gmail.com"   '"Deine E-Mail-Adresse"
    strKennwort = "xxxxxxxxx"            'Passwort angeben
    'Datei für Anlage erstellen
    strTmpFile = ThisWorkbook.Path
    If Right$(strTmpFile, 1)  "\" Then strTmpFile = strTmpFile & "\"
    ChDrive strTmpFile
    ChDir strTmpFile
    'File Name für Nachricht
    strTmpFile = strTmpFile & "Mail_" & _
    Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".")) & "pdf"  '### fcs
    'evtl. löschen fals vorhanden
    If Dir(strTmpFile, vbNormal)  "" Then Kill strTmpFile
    'Datei als PDF speichern
    ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strTmpFile, _
    Quality:=xlQualityStandard, Includedocproperties:=True, _
    IgnorePrintareas:=False, Openafterpublish:=False                     '### fcs
    

    Anzeige
    AW: PDF per Mail sende
    29.11.2014 21:12:17
    dani
    Hallo Franz
    Super vielen Dank. Klappt perfekt.
    Gruess Dani

    302 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige