MS-Office-Forum

MS-Office-Forum (https://www.ms-office-forum.net/forum/index.php)
-   Microsoft Excel (https://www.ms-office-forum.net/forum/forumdisplay.php?f=29)
-   -   Makro Drucken aller Arbeitsbläter mit einem bestimmten Drucker (https://www.ms-office-forum.net/forum/showthread.php?t=350464)

dadadave 11.03.2018 15:36

Makro Drucken aller Arbeitsbläter mit einem bestimmten Drucker
 
Servus,

ist sowas mit einem Makro programmierbar?

So das bei Aktivierung des Makros, alle Arbeitsblätter über ein PDF Drucker gedruckt werden und die Datei mit dem Namen des Arbeitsblattes benannt wird. Seitenformatierung Quer und alle Spalten auf einer Seite.

Wenn die Antwort ja lautet, könntet Ihr dem Code erstellen? Ich habe leider keine Ahnung davon. Gern auch gegen eine Spende

Viele Grüße

David

Hajo_Zi 11.03.2018 15:38

Hallo David,

warum Drucken?
Einfach speichern unter.
Makrorecorder benutzen.

Ergänzung
Seitenausrichtung über Seite einrichten.

GrußformelHomepage

RPP63neu 11.03.2018 16:04

Moin!
Da wird der Rekorder nix nutzen!
@David:
Jedes Blatt in eine separate PDF oder alle Blätter einer Mappe in ein PDF?

Gruß Ralf

dadadave 11.03.2018 16:15

Danke für das Feedback.

jedes Arbeitsplatz in ein separates PDF, wenn es möglich ist. Oder aber in eine mit einer Überschrift mit den Namen des Arbeitsblattes würde auch gehen.

dadadave 11.03.2018 16:37

Hallo Hajo, ich schaue mir das mal an, mit dem Recorder

dadadave 11.03.2018 17:15

Gibt es eine Möglichkeit dem Dokument den Namen des Arbeitsblattes in dem Makro automatisch zu geben?

R J 11.03.2018 17:29

...klar geht das, aber wenn alle Blätter in ein pdf sollen, welcher Name welchen Blattes soll dann übernommen werden? Oder meintest Du den Dateinamen?

dadadave 11.03.2018 17:32

Ich meine schon den Dateinamen.

Es gehen beide Varianten:
1. pro Arbeitsblatt ein PDF mit Dateinamen des Arbeitsblattes, gespeichert an einen fixen Ort.
2. Ein PDF mit Kopfzeile der einzelnen Arbeitsblätter, da bin ich gerade dran. Wenn es nur eine Datei ist, kann Sie einfach Abrechnung heissen.

Ich würde mir schon die 1. Variante wünschen da sie wegen der Ordnung übersichtlicher ist.

R J 11.03.2018 17:55

Code:

Sub Print_Each_Sheet_as_PDF()

    Dim wks As Worksheet
    For Each wks In ActiveWindow.SelectedSheets
       
            wks.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            Environ("userprofile") & "Desktop" & wks.Name & ".pdf", Quality:=xlQualityStandard,  IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=  True
    Next wks
End Sub

...Edit... Mist...., die Forensoftware frisst ja die Bacjslashes.... also bitte an gegebener Stelle selbst ergänzen....

dadadave 11.03.2018 18:26

danke, probiere ich gliech aus, erstmal was essen

dadadave 11.03.2018 19:00

Entschuldige, ich kann leider nicht erkennen, wo die backslash rein sollen ..

dadadave 11.03.2018 19:02

habe es

RPP63neu 11.03.2018 19:05

Moin!
Code:

wks.ExportAsFixedFormat xlTypePDF, Environ("userprofile") & "\Desktop\" & wks.Name
Die explizite Nennung der Dateiendung ist bei dieser Methode nicht notwendig (schadet aber auch nix).

Gruß Ralf

dadadave 11.03.2018 19:10

ja, hatte es. Bin sehr unerfahren und versuche mich daher im "krabbeln"

Es öffnet und speichert sich nur die aktuelle wks.

Ich vermute, ich muss den Code wahrscheinlich irgendwo anders eintragen

dadadave 11.03.2018 19:37

Ne, tut mir leid, er speichert immer nur das erste Arbeitsblatt. ä

Wie kommt oder mit welchem Befehl arbeitet der Makro die anderen Arbeitsblätter ab?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:36 Uhr.

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