online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon NRW- vom 02.05.2022, 11:57 Options

Excel soll per PDF speichern und dann per mail verschicken

Hallo,

ich hoffe mir kann vielleicht jemand helfen.

Ich versuche gerade schon seit Tagen mir eine Excel Datei mit VBA aufzubauen und bin jetzt fast am Ende (aber nun scheitere ich)

:-(

Ich schreibe meine Rechnungen mit Excel und möchte das nur dieses Tabellenblatt unter PDF abgespeichert wird (Rechnungsnummer Feld F5 und Name A13)

Nun sollte die Datei z.B. in Ordner C:\Rechnungen gespeichert sein unter der Rechnungsnummer und dem Namen.

Nun sollte die Rechnung automatisch verschickt werden. Die e-Mail Adresse steht ein Tabellenblatt weiter unter Kunden. Wenn es einfacher wäre, könnte ich die e-Mail Adresse sonst auch in der Rechnung irgendwo "reinquetschen"

Hat vielleicht jemand eine Idee wie ich es machen kann ?


Ich habe hier 2 Codes die vielleicht jemand etwas anpassen kann.... ?

Dieser ist zum verschicken:

Sub Makro6()
'
' Makro6 Makro
'

'
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\RECHNUNGEN\Falsch.pdf", Quality:=xlQualityStandard _
, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
:=False
Application.Dialogs(xlDialogSendMail).Show
End Sub


allerdings speichert er dies ja jetzt noch als Excel ab und nicht als PDF.

Es soll nur das Tabellenblatt abgespeichert werden, wo das VBA ist.

Hier hatte ich noch einen Code zum speichern als PDF:

Sub Makro7()
'
' Makro7 Makro
'

'
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\RECHNUNGEN\Falsch.pdf", Quality:=xlQualityStandard, IncludeDocProperties _
:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub


Aber er speichert es halt immer als "Falsch" und nicht unter der Rechnungsnummer und dem Namen.

Am besten wäre es natürlich wenn ich auch einen Text in der e-Mail beifügen kann. Also ein Feld auswählen wo ich einen Text reinschreibe und er dies in der Mail übernimmt.

DANKE IM VORAUS !!!! :o)


Antwort schreiben

Antwort 1 von Saarbauer vom 02.05.2022, 12:02 Options

Hallo,

dein Problrem liegt hier

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\RECHNUNGEN\Falsch.pdf", Quality:=xlQualityStandard _
, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
:=False
Application.Dialogs(xlDialogSendMail).Show
End Sub


Diese Angabe müsstest du ändern z.B. so

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\RECHNUNGEN\" & A1, Quality:=xlQualityStandard _
, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
:=False
Application.Dialogs(xlDialogSendMail).Show
End Sub

wobei ich davon ausgehe, dass dein Rechnungsname in A1 steht, sonst wäre es entsprechen abzuändern

Gruß

Helmut

Antwort 2 von NRW- vom 02.05.2022, 12:41 Options

Hallo,

danke für deine Schnelle Antwort.

Leider bekomme ich so aber einen Laufzeitfehler ???

Nun geht der Code nicht mehr ?

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\RECHNUNGEN\" & A1, Quality:=xlQualityStandard _
, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
:=False
Application.Dialogs(xlDialogSendMail).Show
End Sub

Antwort 3 von Saarbauer vom 02.05.2022, 13:54 Options

Hallo,

da ich den Code nicht testen konnte, ist mir ein Fehler unterlaufen

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\RECHNUNGEN\" & A1 & ", Quality:=xlQualityStandard _
, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
:=False
Application.Dialogs(xlDialogSendMail).Show
End Sub


Vesuch das mal.

Gruß

Helmut

Antwort 4 von NRW- vom 02.05.2022, 14:02 Options

Hallo Helmut,

danke für deine schnelle Antwort.

Leider geht es aber immer noch nicht.... ???

Bekomme wieder einen Laufzeitfehler. :-(

Hatte mich schon so gefreut :o(

Hast du vielleicht noch eine Idee woran es liegt ?????

Antwort 5 von NRW- vom 02.05.2022, 14:13 Options

liegt es vielleicht da dran das die PDF Endung diesmal nicht in der Formel mit einbezogen ist ?

Ich kenne mich da leider nicht wirklich mit aus :(

Antwort 6 von Saarbauer vom 02.05.2022, 14:49 Options

Hallo,

neuer Versuch

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\RECHNUNGEN\" & A1 &".PDF ", Quality:=xlQualityStandard _
, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish

Gruß

Helmut

Antwort 7 von NRW- vom 02.05.2022, 15:16 Options

Geht leider immer noch nicht :-(

Wenn ich den Code einfüge ist er sofort Rot....

Wenn ich es dann trotzdem Speicher kommen wieder nur Fehlermeldungen.

Antwort 8 von coros vom 02.05.2022, 20:51 Options

Hallo NRW,

in dem Code aus AW 6 von Helmut fehlte der Wert für die Eigenschaft "OpenAfterPublish". Die Zeile müsste richtig lauten:

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:="C:\RECHNUNGEN\" & A1 & ".PDF ", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=False, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False



MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 9 von NRW- vom 03.05.2022, 07:44 Options

Ich bin jetzt gerade so weit:

Dies ist mein erster Makro und der funktioniert auch so wie ich es mit vorgestellt habe (hatte da gestern noch was im Netz zu gefunden):

Sub Makro1()
'
' Makro1 Makro
'

'
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\RECHNUNGEN\ " & Cells(6, 1).Value, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False

End Sub


speichert das vorhandene Excelblatt als PDF Datei.

Aber nun soll das PDF Dokument auch verschickt werden....... ???? Das PDF Dokument heißt immer anders.... je nach dem was in dem Feld steht.

Sub Makro8()
'
' Makro8 Makro
' Speichern und verschicken PDF
'

'
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\RECHNUNGEN\ " & Cells(6, 1).Value, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Application.Dialogs(xlDialogSendMail).Show

Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = Sheets("Tabelle1").Range("D16")
.CC = ""
.BCC = ""
.Subject = Sheets("Tabelle1").Range("D3")
.Body = Sheets("Tabelle1").Range("A3")
.Attachments.Add ActiveWorkbook.FullName
.Send
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub


Und jetzt klappt es hinten und vorne nicht.... Verschicken geht, aber er speichert den Dateianhang immer als Excel Datei und den vorhandenen Dateinamen.
Beim verschicken steht im Makro ja auch: Attachments.Add ActiveWorkbook.FullName was muss ich hinschreiben damit er den oberen Teil mit den PDF speichern nimmt ?

Bin für jeden Tipp Dankbar !!!!!!!

Antwort 10 von son_quatsch vom 03.05.2022, 07:59 Options

Warum machst du nicht das naheliegenste? Beim speichern als PDF sagst du doch auch schon
Filename:="C:\RECHNUNGEN\" & A1 & ".PDF " 

Also warum nicht auch beim hinzufügen als Attachment so?
.Attachments.Add "C:\RECHNUNGEN\ " & Cells(6, 1).Value 

Antwort 11 von NRW- vom 03.05.2022, 08:16 Options

Weil dies leider nicht geklappt hat.
Wenn ich die zeile so einfüge: .Attachments.Add "C:\RECHNUNGEN\ " & Cells(6, 1).Value

wo sonst auch .Attachments.Add ist, dann geht es nicht. Bekomme nen Laufzeitfehler und es ist wieder die normale Exceldatei mit dem falschen Namen im Outlook :-(

Hats du vielleicht noch eine Idee oder sonst jemand ?

Es ist dann ja eine PDF Datei. Oder müsste das da auch noch beim Einfügen in die Formel ?

Ich kenne mich leider mit VBA nicht aus :-(

Antwort 12 von son_quatsch vom 03.05.2022, 09:53 Options

Das war zu unüberlegt von mir kopiert und nicht nochmal geprüft; das "A1" ist fehl am Platze und beim anderen findet er natürlich keine Datei, weil das ".PDF" am Ende fehlt. Alles nur Flüchtigkeitsfehler.

Berichtigt sieht das ganze so aus:

Beim speichern als PDF sagst du doch auch schon
Filename:="C:\RECHNUNGEN\" & Cells(6, 1).Value & ".PDF "

Also warum nicht auch beim hinzufügen als Attachment so?
.Attachments.Add "C:\RECHNUNGEN\ " & Cells(6, 1).Value & ".PDF "


(Kann es nicht lokal testen.) Im übrigen wär es sehr hilfreich für die folgenden Male auch die exakten Fehlermeldungen zu benennen, sowie die Stelle im Code, an der der Interpreter stehenbleibt (gelb hinterlegte Zeile). Das gibt es nämlich alles nicht umsonst.

Antwort 13 von coros vom 03.05.2022, 10:43 Options

Hallo NRW oder auch M O,

schon mal etwas von Crossposting gehört? Dann ließ Dir mal das hier durch. Du solltest nicht ziemlich zeitgleich hier und in Herbers-Forum ein und die gleiche Frage stellen. Da arbeitet nun in jedem Forum die Leute vor sich hin, ohne voneinander zu wissen.
Das macht man nicht, nur um schneller zum Ziel zu kommen.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 14 von NRW- vom 03.05.2022, 12:55 Options

@son_quatsch SUPER DANKE !!!

Also es klappt auf jeden Fall. Allerdings öffnet sich immer zuerst das Outlookfenster wo dann die Datei im Excel Format ist und unter dem normalen Dateinamen.

Wenn ich das schließe und nichts mit mache, versendet er es automatisch und auch genau so wie ich es haben wollte.

Aber wieso öffnet er erst das Fenster vorher und hat im Anhang eine Excel Datei mit dem Falschen Namen ?

Habe ich da vielleicht eine Zeile zu viel drin ?

Hier die Formel:
Sub Makro8()
'
' Makro8 Makro
' Speichern und verschicken PDF
'

'
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\RECHNUNGEN\" & A1 & ".PDF ", Quality:=xlQualityStandard, IncludeDocProperties _
        :=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\RECHNUNGEN\" & A1 & ".PDF ", Quality:=xlQualityStandard _
        , IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
        :=False
    Application.Dialogs(xlDialogSendMail).Show
    
     Dim OutApp As Object
 Dim OutMail As Object
 Set OutApp = CreateObject("Outlook.Application")
 Set OutMail = OutApp.CreateItem(0)
 With OutMail
 .To = Sheets("Tabelle1").Range("D16")
 .CC = ""
 .BCC = ""
 .Subject = Sheets("Tabelle1").Range("D3")
 .Body = Sheets("Tabelle1").Range("A3")
 .Attachments.Add "C:\RECHNUNGEN\ " & Cells(6, 1).Value & ".PDF "
 .Send
 End With
 Set OutMail = Nothing
 Set OutApp = Nothing
End Sub


Also es funktioniert im 2. Schritt alles genau so wie ich es haben wollte (DANKE NOCHMAL !!!) Aber wieso öffnet er zuerst das Outlookfenster mit einer Exceldatei (und nicht PDF) und mit dem Falschen Namen ?

@Coros dies war keine Böse Absicht. Ich hatte es vorher schon einmal in einem Forum gepostet und da stand es 4 Tage ohne eine Antwort und hatte nur 3 Klicks (Forum war also wohl nicht mehr aktiv)

Nach einer Woche habe ich es dann erst Vormittags hier gepostet und Am Abend noch bei Herbers. Hatte dies Forum noch beim googeln gefunden.

Wie gesagt, war keine böse Absicht.

Vielleicht hat ja noch jemand eine Idee wieso er erst ein Outlook Fenster mit der Exceldatei öffnet ????

DANKE !!!

Antwort 15 von son_quatsch vom 03.05.2022, 13:10 Options

Ich vermute wegen
Application.Dialogs(xlDialogSendMail).Show 
- versuch das ohne diese Zeile.

Antwort 16 von crossposter vom 03.05.2022, 13:30 Options

Zitat:
@Coros dies war keine Böse Absicht. Ich hatte es vorher schon einmal in einem Forum gepostet und da stand es 4 Tage ohne eine Antwort und hatte nur 3 Klicks (Forum war also wohl nicht mehr aktiv)

Nach einer Woche habe ich es dann erst Vormittags hier gepostet und Am Abend noch bei Herbers. Hatte dies Forum noch beim googeln gefunden.

Wie gesagt, war keine böse Absicht.

und warum setzt du nicht wenigstens jetzt nen link bei herber??????.

Antwort 17 von NRW- vom 03.05.2022, 13:55 Options

Wie manche VBA als Hobby haben können....

Funktionierte alles so wunderschön.

Jetzt habe ich die Formeln auf meine richtige Datei übertragen:

Sub Makro8()
'
' Makro8 Makro
' Speichern und verschicken PDF
'

'
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\RECHNUNGEN\" & F5 & ".PDF ", Quality:=xlQualityStandard, IncludeDocProperties _
        :=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\RECHNUNGEN\" & F5 & ".PDF ", Quality:=xlQualityStandard _
        , IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
        :=False
    Application.Dialogs(xlDialogSendMail).Show
    
     Dim OutApp As Object
 Dim OutMail As Object
 Set OutApp = CreateObject("Outlook.Application")
 Set OutMail = OutApp.CreateItem(0)
 With OutMail
 .To = Sheets("Rechnung").Range("I2")
 .CC = ""
 .BCC = ""
 .Subject = Sheets("Rechnung").Range("I30")
 .Body = Sheets("Rechnung").Range("I29")
 .Attachments.Add "C:\RECHNUNGEN\ " & Cells(6, 1).Value & ".PDF "
 .Send
 End With
 Set OutMail = Nothing
 Set OutApp = Nothing
End Sub


Hier die Fehler "linie"
.Attachments.Add "C:\RECHNUNGEN\ " & Cells(6, 1).Value & ".PDF "

Liegt es an dem F5 ? Habe Cells(6, 5) und Cells(5, 6) probiert. Wie benennt man denn in Zahlen sonst F5 ?

Wenn ich Application.Dialogs(xlDialogSendMail).Show weglasse, geht es so wie ich es mir vorgestellt habe. Allerdings bisher nur in der "Testdatei" und noch nicht in der Originaldatei.

Da scheitert es wie gesagt an dem Attachements.Add ? 6, 1

Hast mich echt heute schon viel weiter gebracht !!! HERZLICHEN DANK ! Zum Glück muss ich diese Mappe nur einmal machen.....

Antwort 18 von son_quatsch vom 03.05.2022, 14:25 Options

Zitat:
Wenn ich Application.Dialogs(xlDialogSendMail).Show weglasse, geht es so wie ich es mir vorgestellt habe. Allerdings bisher nur in der "Testdatei" und noch nicht in der Originaldatei.
In deinem Kopf klingt das sicher einleuchtend... doch ich sitz hier draußen!

Jetzt das ganze mal strukturiert und kommentiert - vielleicht regt das mehr an zum verstehen:
Sub Makro8()

  Dim sBlatt As String
  Dim sPdfDatei As String
  Dim OutApp As Object
  Dim OutMail As Object

  ' auf welches Tabellenblatt greifen wir später zu, um E-Mail, Betreff und Inhalt auszulesen?
  sBlatt= "Rechnung"

  ' unter welchem Namen soll die PDF-Datei abgespeichert werden?
  sPdfDatei = "C:\RECHNUNGEN\" & Cells(6, 1).Value & ".PDF"

  ' speichern als PDF
  ActiveSheet.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=sPdfDatei, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False

  ' huch - nochmal? Wohlgemerkt: wir speichern wieder unter demselben Ziel ab - überschreiben also die Datei vom Kommando zuvor!
  ActiveWorkbook.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=sPdfDatei, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=False, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False

  ' das lassen wir aus welchem Grund nochmal drin? Ich denke: auskommentieren!
  Application.Dialogs(xlDialogSendMail).Show

  ' Bezug zu Outlook herstellen...    
  Set OutApp = CreateObject("Outlook.Application")

  ' ...damit wir eine neue E-Mail erzeugen können
  Set OutMail = OutApp.CreateItem(0)

  ' Werte den Eigenschaften zuweisen...
  OutMail.To = Sheets(sBlatt).Range("I2")
  OutMail.CC = ""
  OutMail.BCC = ""
  OutMail.Subject = Sheets(sBlatt).Range("I30")
  OutMail.Body = Sheets(sBlatt).Range("I29")

  ' Anhang hinzufügen
  OutMail.Attachments.Add sPdfDatei

  ' ...und abschicken
  OutMail.Send

  ' Objekte sauber auflösen
  Set OutMail = Nothing
  Set OutApp = Nothing

End Sub

Antwort 19 von NRW- vom 03.05.2022, 15:18 Options

Hi,

danke.

gespeichert werden soll unter F5 und A13. Bedeutet das 6,1 A6 ? Wieso wird das diesmal so geschrieben ?

Und beim PDF abspeichern speichert er jetzt leider ALLE Blätter aus der Datei ab. Nicht das eigentliche wo auch das Makro ist (also brauch nur Blatt "Rechnung" speichern)





Sub Makro8()

Dim sBlatt As String
Dim sPdfDatei As String
Dim OutApp As Object
Dim OutMail As Object

' auf welches Tabellenblatt greifen wir später zu, um E-Mail, Betreff und Inhalt auszulesen?
sBlatt = "Rechnung"

' unter welchem Namen soll die PDF-Datei abgespeichert werden? //// Unter Zelle F5 und A13 (6,1 bedeutet A6 ????)
sPdfDatei = "C:\RECHNUNGEN\" & Cells(6, 1).Value & ".PDF"

' speichern als PDF ///// Jetzt speichert er ALLE Tabellenblätter ab ??? Er brauch nur Blatt "Rechnungen" speichern. (Was muss ich dafür eintragen?)
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=sPdfDatei, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False

' huch - nochmal? Wohlgemerkt: wir speichern wieder unter demselben Ziel ab - überschreiben also die Datei vom Kommando zuvor!
ActiveWorkbook.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=sPdfDatei, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=False, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False

' das lassen wir aus welchem Grund nochmal drin? Ich denke: auskommentieren! //// ENTFERNT


' Bezug zu Outlook herstellen...
Set OutApp = CreateObject("Outlook.Application")

' ...damit wir eine neue E-Mail erzeugen können
Set OutMail = OutApp.CreateItem(0)

' Werte den Eigenschaften zuweisen...
OutMail.To = Sheets(sBlatt).Range("I2")
OutMail.CC = ""
OutMail.BCC = ""
OutMail.Subject = Sheets(sBlatt).Range("I30")
OutMail.Body = Sheets(sBlatt).Range("I29")

' Anhang hinzufügen
OutMail.Attachments.Add sPdfDatei

' ...und abschicken
OutMail.Send

' Objekte sauber auflösen
Set OutMail = Nothing
Set OutApp = Nothing

End Sub







danke :-)

Antwort 20 von son_quatsch vom 04.05.2022, 07:21 Options

Wenn du nochmal Code postest, dann benutz bitte auch den Button "Code" - so wie ich das ja auch mache.

Zitat:
gespeichert werden soll unter F5 und A13
Versteh ich nicht - deswegen geh ich jetzt davon aus, dass in beiden Zellen ein Zieldateiname stehen soll...

Zitat:
Bedeutet das 6,1 A6 ? Wieso wird das diesmal so geschrieben ?
Ja - in .Cells(y, x) wird immer zuerst die Zeile und dann die Spalte angegeben. Die Spalte kann auch in Buchstaben stehen.

Zitat:
Und beim PDF abspeichern speichert er jetzt leider ALLE Blätter aus der Datei ab. Nicht das eigentliche wo auch das Makro ist (also brauch nur Blatt "Rechnung" speichern)
Deswegen auch mein Kommentar "huch - nochmal? Wohlgemerkt: wir speichern wieder unter demselben Ziel ab - überschreiben also die Datei vom Kommando zuvor!"

Sub Makro8()

  Dim sBlatt As String
  Dim sPdfDateiF5 As String
  Dim sPdfDateiA13 As String
  Dim OutApp As Object
  Dim OutMail As Object

  ' auf welches Tabellenblatt greifen wir später zu, um E-Mail, Betreff und Inhalt auszulesen?
  sBlatt= "Rechnung"

  ' unter welchem Namen sollen die PDF-Dateien abgespeichert werden?
  sPdfDateiF5 = "C:\RECHNUNGEN\" & Cells(5, "F").Value & ".PDF"
  sPdfDateiA13 = "C:\RECHNUNGEN\" & Cells(13, "A").Value & ".PDF"

  ' speichert das aktuelle Blatt (=ActiveSheet) als PDF
  ActiveSheet.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=sPdfDateiF5, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False

  ' speichert die aktuelle Excelmappe (=ActiveWorkbook) als PDF
  ActiveWorkbook.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=sPdfDateiA13, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=False, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False

  ' Bezug zu Outlook herstellen...    
  Set OutApp = CreateObject("Outlook.Application")

  ' ...damit wir eine neue E-Mail erzeugen können
  Set OutMail = OutApp.CreateItem(0)

  ' Werte den Eigenschaften zuweisen...
  OutMail.To = Sheets(sBlatt).Range("I2")
  OutMail.CC = ""
  OutMail.BCC = ""
  OutMail.Subject = Sheets(sBlatt).Range("I30")
  OutMail.Body = Sheets(sBlatt).Range("I29")

  ' Anhang hinzufügen: ja welchen denn? Dann also beide Dateien???
  OutMail.Attachments.Add sPdfDateiF5
  OutMail.Attachments.Add sPdfDateiA13

  ' ...und abschicken
  OutMail.Send

  ' Objekte sauber auflösen
  Set OutMail = Nothing
  Set OutApp = Nothing

End Sub 

Ähnliche Themen

vba excel kopie speichern ohne das original zu speichern
chris01988  05.10.2009 - 918 Hits - 7 Antworten

Excel 2007 Änderungen in Excel-Optionen speichern
kati2  27.01.2010 - 345 Hits - 5 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 11:26:25 2026