MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 13.09.2017, 07:39   #1
PiotreBlicktsNet
Neuer Benutzer
Neuer Benutzer
Standard VBA - Druckeinstellungen für mehrere Tabellenblätter

Hallo zusammen,

ich bin jetzt schon einige Tage auf Suche, kann aber leider keine Lösungen finden.

Ich habe eine Datei mit mehreren Tabellenblätter. Nun möchte ich gerne per VBA einige Tabellenblätter als pdf drucken lassen. Ich habe auch schon einen Code zusammengestellt, der aber leider irgendwie nicht richtig funktioniert. Leider werden immer die vorher gespeicherten Druckeinstellungen angezogen und nicht die die ich gerne hätte bzw. die die ich im Code hinterlegt habe .
Einzig und alleine funktioniert der Druck als pdf, sprich es wird immer der richtige Drucker (in dem Fall Adobe) angezogen.

Mein Code sieht folgendermaßen aus.

Sub Bericht_Komplett_PDF()
Sheets(Array("Tabelle2", "Tabelle3", "Tabelle4", "Tabelle5")).Select
Sheets("Tabelle2").Activate
With ActiveSheet.PageSetup
.PaperSize = xlPaperLegal
.LeftMargin = Application.InchesToPoints(0)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0)
.BottomMargin = Application.InchesToPoints(0)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.RightFooter = "&12&P / &N"
.DifferentFirstPageHeaderFooter = True
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False, ActivePrinter:="Adobe PDF"
Sheets("Tabelle1").Select
Range("H5").Select
End Sub

Wenn mir hierbei irgendjemand helfen könnte wäre das klasse!
Vorab schon mal vielen Dank an die helfenden Programmierer
PiotreBlicktsNet ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.09.2017, 08:46   #2
EarlFred
MOF Guru
MOF Guru
Standard

Hallo,

so?
Code:

Option Explicit

Sub Bericht_Komplett_PDF()
Dim ws As Worksheet

For Each ws In Worksheets(Array("Tabelle2", "Tabelle3", "Tabelle4", "Tabelle5"))
  With ws.PageSetup
    .PaperSize = xlPaperLegal
    .LeftMargin = Application.InchesToPoints(0)
    .RightMargin = Application.InchesToPoints(0)
    .TopMargin = Application.InchesToPoints(0)
    .BottomMargin = Application.InchesToPoints(0)
    .HeaderMargin = Application.InchesToPoints(0)
    .FooterMargin = Application.InchesToPoints(0)
    .RightFooter = "&12&P / &N"
    .DifferentFirstPageHeaderFooter = True
    .CenterHorizontally = True
    .CenterVertically = True
    .Orientation = xlLandscape
    .Zoom = False
    .FitToPagesWide = 1
    .FitToPagesTall = 1
  End With
Next ws

Worksheets(Array("Tabelle2", "Tabelle3", "Tabelle4", "Tabelle5")).PrintPreview

'Worksheets(Array("Tabelle2", "Tabelle3", "Tabelle4", "Tabelle5")).PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False, ActivePrinter:="Adobe PDF"
End Sub
Den Druckbefehl habe ich zu Testzwecken auskommentiert.

Die erste Seite erhält eine andere Fußzeile. Wenn das nicht gewollt ist, ändere die rote Zeile.

Excel hat seit langem auch eine die integrierte Exportfunktion.

Grüße
EarlFred
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.09.2017, 10:17   #3
PiotreBlicktsNet
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo EarlFred,

vielen Dank für die schnelle Hilfe! Klappt auch soweit super.
Nur bis die eigentliche Speicherung als pdf beginnt, bzw ich wegen dem Speicherplatz gefragt werde dauert es relativ lange.

Aber das Problem bekomme ich irgendwie noch hin.

Gruß Piotre
PiotreBlicktsNet ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 20.09.2017, 12:05   #4
PiotreBlicktsNet
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo zusammen,

ich habe den Code nun soweit fertig und es klappt auch alles.
Nur leider dauert es sehr lange bis ich nach dem Speicherort der pdf gefragt werde. In Summe sind das in etw 2:15min für 23 Tabellenblätter.

Der Code sieht folgendermaßen aus:

Sub DL_Bericht_Komplett_PDF() ' DL_Bericht_Komplett als PDF Version

Dim ws As Worksheet

For Each ws In Worksheets(Array("Tab1", "Tab2", "Tab3", "Tab4", "Tab5", "Tab6", "Tab7", "Tab8", "Tab9", "Tab10", "Tab11", "Tab12", "Tab13", "Tab14", "Tab15", "Tab16", "Tab17", "Tab18", "Tab19", "Tab20", "Tab21", "Tab22", "Tab23"))

With ws.PageSetup
.PrintArea = "$D$2:$DX$54"
.LeftHeader = "&""Porsche Next TT,Fett""&18&KFF0000 EA825 V8T &K01+000- Dauerlaufstatus"
.CenterHeader = "&G"
.RightHeader = "&G"
.LeftFooter = "&11 Legende: T = TBT Sonderteile Z = Zerlegung Fzg. S = Sichtung Mot. B = Befundung Mot."
.CenterFooter = "&G" & Chr(10) & ""
.RightFooter = "&P / &N "
.LeftMargin = Application.InchesToPoints(0)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0.590551181102362)
.BottomMargin = Application.InchesToPoints(0.590551181102362)
.HeaderMargin = Application.InchesToPoints(0.196850393700787)
.FooterMargin = Application.InchesToPoints(0.118110236220472)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 1200
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLegal
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = True
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
.EvenPage.LeftHeader.Text = ""
.EvenPage.CenterHeader.Text = ""
.EvenPage.RightHeader.Text = ""
.EvenPage.LeftFooter.Text = ""
.EvenPage.CenterFooter.Text = ""
.EvenPage.RightFooter.Text = ""
.FirstPage.LeftHeader.Text = ""
.FirstPage.CenterHeader.Text = "" & Chr(10) & "&G"
.FirstPage.RightHeader.Text = ""
.FirstPage.LeftFooter.Text = ""
.FirstPage.CenterFooter.Text = "&G" & Chr(10) & "&""Porsche Next TT,Fett""&14EAM3"
.FirstPage.RightFooter.Text = ""
End With

Next ws

Worksheets(Array("Tab1", "Tab2", "Tab3", "Tab4", "Tab5", "Tab6", "Tab7", "Tab8", "Tab9", "Tab10", "Tab11", "Tab12", "Tab13", "Tab14", "Tab15", "Tab16", "Tab17", "Tab18", "Tab19", "Tab20", "Tab21", "Tab22", "Tab23")).PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False, ActivePrinter:="Adobe PDF"

Sheets("Übersicht").Select
Range("C4").Select

End Sub

Wenn mir jemand dazu evtl. einen Lösungsvorschlag hätte wäre das klasse! Vielleicht ist das aber normal bei einem solchen Datenumfang!?

Grüße

Piotre
PiotreBlicktsNet ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 20.09.2017, 13:25   #5
EarlFred
MOF Guru
MOF Guru
Standard

Hallo Piotre,

Du kannst versuchen, vor dem Makrodurchlauf einen lokalen Drucker (z. B: den installierten Faxtreiber) einzustellen. Möglicherweise beschleunigt das den Durchlauf.
Aber Wunder erwarte ich in Verbindung mit dem PageSetup-Object nicht.

Alternativ kannst Du auf Vorlageblätter umsteigen oder (nicht wirklich elegant) bei "starrem" Blattaufbau die Kopf- und Fußzeile im Blatt mit darstellen.

Grüße
EarlFred
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:30 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.