Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nur eine Seite als PDF in Email anhängen

Forumthread: Nur eine Seite als PDF in Email anhängen

Nur eine Seite als PDF in Email anhängen
19.12.2014 22:14:05
Robert
Schönen guten Abend zusammen!
Hab folgendes Problem:
Ich hab einen Code, mit dem ich meine Exceldatei als PDF speichere, eine Email erstelle und die PDF anhänge.
Leider wird die PDF immer 3 Seiten lang, also alle 3 Tabellenblätter. Ich möchte aber nur eine _ Seite (Tabelle1). Wie muss der Code geändert werden?

Private Sub CommandButton11_Click()
Dim sPathPDF$
Dim objOutlook As Object, objMail As Object
'PDF erstellen
With ThisWorkbook
'Pfad wo die PDF gespeichert werden soll, hier wo die Excel liegt
sPathPDF = IIf(Right$(.Path, 1) = "\", .Path, .Path & "\")
'Pfad + PDF-File-Name, hier wird der Namer der Excel verwendet
sPathPDF = sPathPDF & Left(.Name, InStrRev(.Name, ".")) & "pdf"
'oder so, mit anderen Dateinamen
'sPathPDF = sPathPDF & "Maine PDF Datei.pdf"
'Abfrage ob Datei ersetzt werden soll, bei nein Abbruch
If Dir(sPathPDF, vbNormal)  "" Then
If MsgBox("Vorhandene Datei ersetzen?", vbYesNo + vbQuestion) = vbNo Then
Exit Sub
End If
End If
'ges. Datei als PDF speichern ********************************************
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
sPathPDF, Quality:=xlQualityStandard, _
IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False
'    'nur eine Tabelle als PDF ***********************************************
'    Tabelle1.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
'        sPathPDF, Quality:=xlQualityStandard, IncludeDocProperties:= _
'        False, IgnorePrintAreas:=False, OpenAfterPublish:=False
'    'nur eine bestimmte Seite auf der Tabelle als PDF, hier Seite 1 bis 1 ***
'    Tabelle1.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
'        sPathPDF, Quality:=xlQualityStandard, IncludeDocProperties:= _
'        False, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
End With
'Mail erstellen ************************************
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = TextBox1.Value 'An-Empfänger
.CC = TextBox19.Value 'Cc-Empfänger
.BCC = "" 'BCc-Empfänger
.Subject = "Bearbeitete Enticklungskontierung Projekt " & TextBox5.Value 'Betreff
.Body = "Anbei die bearbeitete Entwicklungskontierung" 'Nachricht
.Attachments.Add sPathPDF 'Anlage
.Display 'Mail anzeigen
End With
Set objMail = Nothing
Set objOutlook = Nothing
Application.Wait (Now + TimeValue("0:00:3"))
Application.SendKeys "%k"
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
zuvor einfach einen Druckbereich festlegen oT.
19.12.2014 23:00:21
Tino

AW: zuvor einfach einen Druckbereich festlegen oT.
19.12.2014 23:57:25
Robert
Ich würde das jetzt so machen:
With ActiveSheet.PageSetup
PrintArea = "A1:B42"
End With
Aber wenn ich den Code diekt unter Private Sub CommandButton11_Click() packe, bekomme ich trotzdem 3 Seiten!

vielleicht geht es so.
20.12.2014 08:51:28
Tino
Hallo,
ich hätte es so versucht.
Dim SavePrintAr$
'...
'...
'...
With ActiveSheet
SavePrintAr = .PageSetup.PrintArea
.PageSetup.PrintArea = "A1:B42"
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
sPathPDF, Quality:=xlQualityStandard, IncludeDocProperties:= _
False, IgnorePrintAreas:=False, OpenAfterPublish:=False
.PageSetup.PrintArea = SavePrintAr
End With
'...
'...
'...
PS: hast Du ganz oben Option Explicit stehen?
Sonst müsstest Du eine Fehlermeldung bekommen!
http://www.online-excel.de/excel/singsel_vba.php?f=4
Gruß Tino

Anzeige
AW: vielleicht geht es so.
20.12.2014 13:25:50
Robert
Es hat sich rausgestellt, dass es nicht am Druckbereich lag. Hab den Code so geändert:
Tabelle1.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
sPathPDF, Quality:=xlQualityStandard, IncludeDocProperties:= _
False, IgnorePrintAreas:=False, OpenAfterPublish:=False
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige