PDA

Vollständige Version anzeigen : Druckbereich wird nicht festgelegt


Franz00
01.09.2017, 10:30
Hallo zusammen,

mit dem Befehl "ActiveWorkbook.ExportAsFixedFormat" erzeuge ich im Excel eine PDF-Datei. Alles funktioniert nur das der vorhandene Druckbereich unter Seitenlayout nicht berücksichtigt wird obwohl der Befehl auf IgnorePrintAreas:=False steht.

Hat jemand eine Idee wie man mit VBA lösen kann (s. Code).
Danke.
Gruß Franz

Sub PDF_per_EMail()

'** Dimensionierung der Variablen
Dim strPDF As String
Dim OutlookApp As Object, strEmail As Object

'** Vorgaben definieren
Set OutlookApp = CreateObject("Outlook.Application")
Set strEmail = OutlookApp.CreateItem(0)

'** PDF erzeugen
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "Excel-File.pdf", Quality:=xlQualityStandard _
, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
:=False

'** E-Mail versenden
strPDF = ThisWorkbook.Path & "Excel-File.pdf"
With strEmail
.To = "name@domain.tld"
.Subject = "PDF als Anlage" 'Betreffzeile
.body = "Als Anlage die PDF-Datei"
.Attachments.Add strPDF
.Display
'.Send 'Damit wir die E-Mail sofort versendet
Kill strPDF
End With

'** Objektvariablen wieder löschen
Set OutlookApp = Nothing
Set strEmail = Nothing
End Sub

silcono
01.09.2017, 10:37
Ich gehe davon aus, dass du noch den Druckbereich festlegen musst.

Grüße Silcono

Franz00
01.09.2017, 10:50
Wie ich geschrieben habe, ist der Druckbereich festgelegt unter dem Seitenlayout.

Es soll nur Tabelle1 in PDF erzeugt werden. Mit dem Code wird die ganze Arbeitsmappe in PDF gewandelt.

Gruß Franz

silcono
01.09.2017, 11:23
Ah verstehe:

Du hast ActiveWorkbook stehen, nimm mal ActiveSheet

;)

Franz00
01.09.2017, 11:49
ok, das hatte ich übersehen. Jetzt funktioniert es!

Danke.
Gruß Franz