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

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

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

329 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige