Pdf aus Excel per Makro erstellen

Hallo liebe Excel Experten,

nachdem ich so ziehmlich den ganzen Tag damit verbracht habe im Netz nach einer Loesung fuer mein Problem zu suchen, habe ich jetzt beschlossen einfach mal jemanden zu fragen der sich vielleicht damit auskennt.
Also ich habe mir einen Pivot table gebastelt, welcher den Rechnungsbetrag verschiedener Kunden im gewuenschten Rechnungsvormat enthaelt und bei dem man den jeweiligen Kunden in einem feld auswaehlen kann und die rechnung dann halt drucken kann. Nun soll jede Rechnung die gedruckt wurde auch als pdf gespeichert werden. Der Name der pdf datei soll dabei aus einer Zelle im worksheet entnommen werden. Ich habe Adobe Acrobat Pro und Office 2003 (beides die amerikanischen Versionen, macht aber denke ich keinen Unterschied). Ich habe nicht wirklich VBA Kenntnisse, soll heissen, das ich ueber eine moeglichst genaue hilfe sehr dankbar waere.
vielen dank im vorraus,
danny

soweit ich weiss ist das nicht möglich…
Du steuerst die generierung per ausdruck an, oder?
Von daher entspricht das umwandeln einem Ausdruck - aber alles, was nach dem druck-Befehl noch kommt ist sache von Acrobat und kann meines Wissens nicht von Excel gesteuert werden…
Von daher bleibt manuelle interaktion wohl vonnöten…

Falls es anders geht, dann starte mal den Makro-Rekorder und speichere alles so ab, wie es sein soll und beende danach den Makro Rekorder - beatbeite das Makro und poste den code hier - dann kann ich mal drüber sehen…

Grüße
Munich

Hallo, ich denke schon das das irgendwie moeglich ist, klappt auch schon so halb. Aber eben nur halb ich hab folgenden code zusammengebastelt:
Option Explicit

Const cstrPath As String = „D:“
Const cstrPrinter = „Adobe PDF“

Sub x()
Dim wsSrc As Worksheet
Dim strPath As String

strPath = cstrPath & „Vorgesetztenmeldung_2008-01_“ & Range(„A21“).Value
Set wsSrc = ActiveWorkbook.Worksheets(„Billing“)
ActiveSheet.PrintOut ActivePrinter:=cstrPrinter, PrintToFile:=False, PrToFileName:=strPath

End Sub

dabei erstellt er ein File, das ich aber nicht oeffnen kann, also ich bin hier echt am verzweifeln, das muss doch irgendwie moeglich sein!

dabei erstellt er ein File, das ich aber nicht oeffnen kann,
also ich bin hier echt am verzweifeln, das muss doch irgendwie
moeglich sein!

Hi Danny,

die erstellte Datei ist eine PDF-Datei? Wieviel Bytes hat sie? Ist sie Inhaltsgleich wie wenn du sie manuell als PDF drucken läßt?

Zeige mal den aufgezeichneten Code wenn du sie manuell als PDF speichern läßt.

Ich kenne mich mit Pdf Erstellung leider nicht aus.

Gruß
Reinhard

Alternative PDF Creator
Hi Danny,

may be, hier ist als workaround was dabei für dich:

http://www.excelguru.ca/node/21
http://www.pdfforge.org/products/pdfcreator/

Gruß
Reinhard

Hallo Reinhard (und die Anderen Helfer)

ueber ein paar umwege habe ich es nun doch geschafft zu erreichen was ich denn wollte. mit dem folgenden code:Sub test()

Sheets(„Billing“).Copy
ActiveWorkbook.SaveAs Filename:=„C:\temp“ & Cells(21, 1).Value
Sheets(„Billing“).Select
Application.ActivePrinter = „Printer023 on Ne00:“
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Application.ActivePrinter = „Adobe PDF on Ne02:“
ActiveWindow.SelectedSheets.PrintOut , Copies:=1, Collate:=True
ActiveWindow.Close
Dim backupDir
backupDir = „C:\temp“
On Error Resume Next
Kill (backupDir & „*.xls“)

End Sub

wird erst eine Copy des sheets um das es geht in einem Temp Ordner, unter dem Namen eines Zellwertes gespeichert, anschliessend wird diese Copy als PDF gedruckt (standardmaessig mit dem Namen der .xls Datei also Namensvorschlag), dann noch einmal auf dem richtigen Drucker gedruckt und anschliessend wird die Copy vom Tabellenblatt wieder geloescht.
Ist nicht so richtig das was es tun sollte aber es erfuellt seinen zweck.

Vielen Dank an alle die geantwortet haben.
mfg Danny