Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
640to644
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
640to644
640to644
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

PDF Drucker im Makro ansteuern

PDF Drucker im Makro ansteuern
25.07.2005 16:46:18
Boris
Hallo,
ich möchte aus einer Excel Seite eine PDF erstellen. Das ganze per Makro. Die Eingabe des Dateinamens soll auch das Makro übernehmen. Es müssen eine ganze Reihe von Dateien erstellt werden, das passiert im Stapelbetrieb. So weit läuft das Makro auch ohne Probleme. der Haken ist der Punkt Namensvergabe der PDF, wie bekomme ich diesen Punkt vom Bildschirm in das Makro? Als Save as / Name / xls ist das kein Problem. Den ganzen Stapel als Excel Dateien zu speichern wäre also kein Problem. Gut, sollen halt PDF's sein.
das Makro zum auswählen des und Anstossen des Druckers:
Application.ActivePrinter = "Adobe PDF on Ne00:"ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _"Adobe PDF on Ne00:", Collate:=True
Der Recorder hat aber keine Befehle wg dem Namen aufgezeichnet........ Oder geht das nicht, weil Acrobat nicht mit VBA zusammenarbeitet?
Merci für eure Hilfe
Gruss
BORIS

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF Drucker im Makro ansteuern
25.07.2005 19:59:20
Reinhard
Hallo Boris,
ich habs nicht so ganz kapiert, eher gar nicht.
Mich wundert dass der Debugger nicht mmeckert bei dem Unterstrich in
ActivePrinter:= _"Adobe PDF on Ne00:", Collate:=True
Und warum der AktiovePrinter 2mal angegeben werden muss ist mir auch unklar.
willst du über Excel-VBA den Namen der PDF die du gerade auf dem Bilschirm im Acrobat writer-Fenster (oder wie der heisst) stehen hast auslesen ?
Ich dachte nur Adope-Software (da gibt es gerade kostenlose eine zeitlich begrenzte Vollversio (120 MB groß!) könne PDFs erstellen. Nach/beim Erstellen sind die auf der Fesplatte und da kannste sie mit vba leicht finden/ausdrucken.
Gruß
Reinhard
Anzeige
AW: PDF Drucker im Makro ansteuern
25.07.2005 21:27:11
Boris
Hallo,
ich möchte das ExcelSheet ausdrucken, der Drucker ist nur nicht der "Papier" Drucker, sondern der PDF Drucker. Ich möchte also aus Excel heraus eine PDF erstellen. Das Programm dazu habe ich. Der PDF Printer steht zwei mal in dem Code, weil ich zunächst den aktiven Printer wechseln muss. Danach drucke ich mit dem dann aktiven PDF Drucker die Seite aus. "Collate:=True" hat der Recorder aufgezeichnet, das kann natürlich auch weggelassen werden.
Mein Prooblem ist jetzt folgendes. Ich starte mein Makro und die Seite wird gedruckt, um die PDF zu erstellen, also "zu drucken", brauche ich aber eine Dateinamen. Dazu geht ein Dialogfenster auf, in dem der Name und der Speicherort angegeben werden müssen. Das soll aber das Makro machen, da das Makro ca 200 PDFs erstellen wird.
meine Frage: Wie kann ich aus dem Makro auf diesen Dialog zugreifen?
Boris
Anzeige
AW: PDF Drucker im Makro ansteuern
25.07.2005 21:49:14
Ramses
Hallo
damit geht es
Sub Start_Print()
'by Ramses
Call Print_to_PDF(ActiveSheet)
End Sub

Public Sub Print_to_PDF(WS As Worksheet)
'by Ramses
Dim wb As Workbook
Dim strFilename As String
Dim STRPFAD As String
'Workbook zuweisen
Set wb = Workbooks(WS.Parent.name)
'Pfad der Mappe extrahieren
STRPFAD = WS.Parent.path
'Dann wechsle vorher in den Pfad der Datei
ChDrive (Left(STRPFAD, 2))
ChDir STRPFAD
'Es darf keine Endung PDF vergeben werden !!!
'Wird durch Acrobat automatisch erstellt
strFilename = Left(WS.Parent.name, Len(WS.Parent.name) - 4)
STRPFAD = STRPFAD & "\" & strFilename
'Den Druckernamen bitte anpasssen
wb.PrintOut ActivePrinter:="Acrobat PDFWriter auf LPT1:", _
    PrintToFile:=True, PrToFilename:=STRPFAD
End Sub

Gruss Rainer
Anzeige
AW: PDF Drucker im Makro ansteuern
25.07.2005 21:53:21
Boris
Hey, cool, merci, werde ich gleich probieren
schönen abend noch
Boris
typischer Anfängerfehler *lach* langer Text,
26.07.2005 01:02:37
nicht
Hallo Rainer,
(hoffentlich hat Boris seine Sonnenbrille mit innen verspiegelten Glasern dabei wenn er weiterliest)
Hast du and die anderen Profis das alle aus nem Buch von Bernd? *grien*
ChDrive (Left(STRPFAD, 1)) *g
Mir ist für mich klar warum jmd C: und nicht C schreibt, seit Dos3.2 bin ihc mit MS in Dauerfehde, dabei lief daß stabil (logisch hat ja nicht Bill geschrieben sondern ein andrer Student dem er es für 1500 Dollar abkaufte, dann ging er zu IBM und machte die Mutter aller Verträge) dabei, nur C antstatt C: da huschen meine Augen magisch hin und ich sehe das als Fehler, bis ich dann das ChDrive entdecke. Also, ist ja wurscht weil es keinen Fehler gibt, aber da wäre MS besser beim Standard C: geblieben *find*
Gruß
Reinhard
ps Ich habe auch das Buch VBA-Programierung von Bernd, es wandert demnächst zu ebay weil ich es seit 2 jahren nicht mehr anfasste.
Liegt aber nicht am Buch, sondern an seinem für mich ungeeigneten Aufbau. Ich muss schnell was finden, also Hilfe google recherche, in der Reihenfolge. Und in dem Buch finde ich nie was schnell.
Aber ich finde es für einen Anfänger ein sehr gutes Buch und der Streit über Codes ist mir egal. Ich kann da eh nicht mitreden.
Brille kann wieder ab @Boris :-)
Anzeige
AW: typischer Anfängerfehler *lach* langer Text,
26.07.2005 09:09:03
Ramses
Hallo
Sorry,... das ich da etwas verwundert schaue.
Aber wo ist da ein Fehler ?
Das funktioniert doch, ... auch wenn ChDrive vielleicht genauso gut mit "C" arbeiten würde.
Gruss Rainer
logo kein Fehler
26.07.2005 11:34:28
Reinhard
Hallo Rainer,
ich wollte dir nur in Kurzform*g mitteilen das man nicht C: bracuht sondern dass C ausreicht.
Gruß
Reinhard
AW: logo kein Fehler
26.07.2005 13:00:25
Ramses
Hallo
Das ist die macht der Gewohnheit :-)
Da ich des öfteren Laufwerke, Pfade und Dateien in unterschiedlichen Variablen speichere, habe ich es mir angewöhnt, beide Zeichen zu extrahieren, da ich dann beim Zusammenbau der Variablen keine Probleme habe und ChDrive damit trotzdem zurechtkommt :-)
Gruss Rainer
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige