Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1128to1132
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
Inhaltsverzeichnis

Excel -> Word -> PDF per Makro

Excel -> Word -> PDF per Makro
volker
Hallo Leute,
aus einer EXCEL Datei kann ich hervorragend ein Worddokument erstellen, die eine Zusammenstellung der Daten als handliche Datei pro Fall ausgibt.
Mir ist nun daran gelegen diese Ausgaben unveränderbar zu halten. Also am liebsten das Worddokument noch im Makro in eine PDF umzuwnadeln.
Hat da jemand eine Idee?
Bisher scheitere ich sowohl mit einer solchen Konstruktion:
Application.ActivePrinter = "Adobe PDF auf Ne03:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Adobe PDF auf Ne03:", Collate:=True
(Was klar ist, ich will ja kein Tabellenblatt konvertieren!)
wie auch mit dem Word-Makroeditorbefehl
fragebogen.Application.PrintOut Filename:=SpeicherName, Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
Wobei fragebogen das erstellte WordDokument darstellt, definiert am Anfang des Codes über:
Dim W As Word.Application
Dim fragebogen As Word.Document
Gibt es vielleicht auch eine Möglichkeit gleich als pdf zu schreiben?
Viele Grüße,
Volker

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Excel -> Word -> PDF per Makro
12.01.2010 13:25:07
fcs
Hallo Volker,
Office 2003 kann nicht direkt Dokumente als PDF-Dateien ausgeben, funktioniert erst ab 2007er Versionen.
Folgende beiden Makros funktionieren bei mir, wobei bei mir in Variante 2 das Kreieren einer neuen Word-Instanz relativ lange dauert.
Gruß
Franz
'Excel-Version: 2003
'In VBA-Excel muss unter Extras der Verweis auf Microsoft Word x.y Object Library gesetzt sein
Sub AusgabeWorddatei1()
'Variante 1: Word-Anwendung muss bereits geöffnet sein
Dim wks As Worksheet
Dim fragebogen As Word.Document
Dim sActivePrinter$, SpeicherName$
Set wks = ActiveSheet
SpeicherName = ActiveWorkbook.Path & Application.PathSeparator _
& wks.Cells(2, 1) & Format(wks.Cells(2, 2), "00")
Application.ActivateMicrosoftApp (xlMicrosoftWord)
Set fragebogen = Word.Documents.Add
'Daten in Fragebogen eintragen
fragebogen.Range(0, 1).Text = ActiveWorkbook.Worksheets(1).Cells(1, 1).Text
'Fragebogen speichern
fragebogen.SaveAs Filename:=SpeicherName
SpeicherName = fragebogen.FullName
fragebogen.Close savechanges:=True
'Fragebogen als PDF-Drucken
'Aktiven Word-Drucker merken
sActivePrinter = Word.ActivePrinter
'  W.ActivePrinter = "Adobe PDF auf Ne03:"
Word.ActivePrinter = "Adobe PDF"
Word.Application.PrintOut Filename:=SpeicherName
'gemerkten Drucker wieder setzen
Word.ActivePrinter = sActivePrinter
Word.Application.WindowState = wdWindowStateMinimize
End Sub
Sub AusgabeWorddatei2()
'Variante 2: Neue Wordinstanz wird jeweils erzeugt
Dim wks As Worksheet
Dim W As New Word.Application
Dim fragebogen As Word.Document
Dim sActivePrinter$, SpeicherName$
Set wks = ActiveSheet
SpeicherName = ActiveWorkbook.Path & Application.PathSeparator _
& wks.Cells(2, 1) & Format(wks.Cells(2, 2), "00")
'Neues Worddokument anlegen
Set fragebogen = W.Documents.Add
W.Visible = True
'Daten in Fragebogen eintragen
fragebogen.Range(0, 1).Text = ActiveWorkbook.Worksheets(1).Cells(1, 1).Text
'Fragebogen speichern
fragebogen.SaveAs Filename:=SpeicherName
'Fragebogen als PDF-Drucken
'Aktiven Word-Drucker merken
sActivePrinter = W.ActivePrinter
'  W.ActivePrinter = "Adobe PDF auf Ne03:"
W.ActivePrinter = "Adobe PDF"
fragebogen.PrintOut
'gemerkten Drucker wieder setzen
W.ActivePrinter = sActivePrinter
'Datei schließen und Word beenden
fragebogen.Close savechanges:=True
'Warten, damit Word den Druckvorgang abschließen kann
Application.Wait Now + TimeSerial(Hour:=0, Minute:=0, Second:=5)
W.Quit
End Sub

Anzeige
AW: Excel -> Word -> PDF per Makro
12.01.2010 14:57:41
volker
Hallo Franz,
herzlichen Dank! Das funktioniert prima.
Da war ich ja gar nicht so weit weg - Danke!
Im Prinzip fahre ich mit Variante 1 ganz gut.
Nun habe ich aber noch ein weiteres Problem:
Bei jeder PDF Konvertierung öffnet sich bei mir ein 'Save PDF File as', dass ich bestätigen muss. Das würde ich gerne automatisch machen lassen. (Insbesondere weil es vorkommen kann, dass bei einem Programmauflauf bis zu 100 PDF Dateien erstellt werden können ...)
Und der Pfad stimmt nicht mit dem Pfad der ebenfalls erstellten Worddatei überein.
Wo stelle ich dies ein?
MakeSureDirectoryPathExists SpeicherName
macht es nicht. Warum nur?
Volker
Anzeige
AW: Excel -> Word -> PDF per Makro
13.01.2010 00:25:10
fcs
Hallo Volker,
ich kenne mich mit dem Einrichten von Acrobat als Drucker/Druckertreiber nicht aus. Ich benutze Acrobat meist für Erstellen und Editieren komplexerer PDF-Dokumente.
Es sollte aber möglich sein, Acrobat oder evtl. auch den Distiller so einzurichten, dass die Ausgabe der PDF-Dateien automatisch ohne Anzeige der Zwischendialoge in ein Verzeichnis erfolgt. Da ihr den Acrobat im Netzwerk betreibt, muss du ggf. mit deinem Admin verhandeln.
Ich arbeite privat zum Erzeugen von PDF via Drucker mit FreePDF und dort kann man ein Profil so konfigurieren dass für die Ausgabe in ein bestimmtes Verzeichnis ein separat wählbarer Drucker angelegt wird.
Gruß
Franz
Anzeige

190 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige