excel in pdf konvertieren



Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: excel in pdf konvertieren
von: Wolfgang
Geschrieben am: 13.06.2002 - 14:48:40

Hallo
Verwende den Adobe Distiller.
Hab schon das Archiv durchgestöbert.
Problem ist das ich den Dateinamen und den Speicherpfad nicht manuell wählen will sondern durch das makro (sendkeys) vorgebe.
Und das funktioniert nicht.
Ich möchte in einer Schleife aus einer Exceldatei 50 pdf-files erzeugen. Und dabei nicht 50 mal auf Enter klicken und auch nicht den Speicherpfad manuell wählen.

ChDir ThisWorkbook.Path
Application.ActivePrinter = "Acrobat Distiller auf Ne00:"
Application.ScreenUpdating = False
For i = 1 To 50
Range("K2").Select
ActiveCell.FormulaR1C1 = i
ActiveWorkbook.Names.Add Name:="Print_Area", RefersToR1C1:="=Druckbereich1, Druckbereich2...Druckbereich9"
ActivePrinter:="Acrobat Distiller", Collate:=True
strFile = Worksheets("AuswNeu").Range("I1").Value & " " & Worksheets("AuswNeu").Range("H1").Value & ".pdf"
SendKeys strFile
SendKeys "{Enter}", true
Selection.PrintOut
next

Danke für jeden Tip
Wolfgang

nach oben   nach unten

Halbe Hilfe
von: Alan Hathway
Geschrieben am: 13.06.2002 - 15:05:05

Zum genauen Problem kjann ich nichts sagen, weil ich Distiller nicht habe.

Aber ich nutze PDFFactory und dieses müsste ziemlich ähnlich laufen. Ich nutze auch sendkeys. Wobei
1. Ich wait's einbauen muss, ansonsten verheddert er sich
2. ich vieles mit '%' (bedeutet 'Alt') mit Sendkeys arbeiten muss damit die sache funktioniert.

Alan Hathway


nach oben   nach unten

Re: excel in pdf konvertieren
von: Egon
Geschrieben am: 13.06.2002 - 15:26:34

Ich verwende den AMYUNI PDF Converter.
http://www.amyuni.com/ger/products/pdf_converter/features.html

Einfach mit VBA zu programmieren und relativ preiswert.
(150€)

Es gibt eine Developer-Version, die man uneingeschräkt weitergeben kann und die kein Install benötigt.
(aber: teuer - 1500€)

Der Hersteller sitzt in Paris.

Egon

nach oben   nach unten

Re: Halbe Hilfe
von: wolfgang
Geschrieben am: 13.06.2002 - 15:34:40

Danke
Acrobat Distiller ist ein addin und zwar pdfmaker.xla

Wäre Dir sehr dankbar für nähere Infos wie Du an die Sache rangehst.
Vielen Dank
wolfgang


nach oben   nach unten

Re: Halbe Hilfe
von: Alan Hathway
Geschrieben am: 13.06.2002 - 15:41:25

Nicht schön, aber effektiv

Ich brauche nur etwas aus den 3., den 8. und ab den 11. Blatt

Ich lösche die Datei vorab, falls sie schon existiert.

(Die Anwendung ist eine Sport Veranstaltung - ich veröffentliche die Ergebnisse im Internet am Ende des Spieltages)


Sub PDFExport()
'
' PDFExport Makro
' Makro am 25.02.2002 von Alan Hathway aufgezeichnet
'
'
Dim altdru As String
Dim counter As Integer
'
'
altdru = Application.ActivePrinter
Application.ActivePrinter = "FinePrint pdfFactory auf FPP1:"
'
Application.Calculate
For counter = 1 To Sheets.Count
If counter = 3 Or counter = 8 Or counter >= 11 Then
Worksheets(counter).Activate
On Error Resume Next
Kill "C:\Alan\DSM2\DSM2I" & Left(Worksheets(counter).Name, 3) & ".pdf"
SendKeys "%dd{Enter}", True
Application.Wait Now + TimeValue("00:00:10")
SendKeys "%s" & "C:\Alan\DSM2\DSM2I" & _
Left(Worksheets(counter).Name, 3) & ".pdf{Enter}", True
Application.Wait Now + TimeValue("00:00:08")
SendKeys "{Esc}", True
Application.Wait Now + TimeValue("00:00:04")
End If
Next
Worksheets("Setzliste").Activate

Application.ActivePrinter = altdru

'
End Sub

nach oben   nach unten

Re: excel in pdf konvertieren
von: Heiko
Geschrieben am: 13.06.2002 - 16:06:31

Hallo,

versuchs mal damit:

strFile = Worksheets("AuswNeu").Range("I1").Value & " " & Worksheets("AuswNeu").Range("H1").Value & ".ps" & "{Enter}"
SendKeys strFile
Selection.PrintOut PrintToFile:=True
Set pdfDist = New PdfDistiller
pdfDist.FileToPDF "ps-file", "pdf-file", ""

Dazu must du unter Extras->Verweise den Acrobat Distiller anklicken.
Der Punkt ist, dass Der Distiller keine pdf-Dateien "ausdrucken" kann sondern nur Postscript. Du erzeugst also zuerst per sendkeys und .Printout eine *.ps-Datei und mittels pdfDist.FileToPDF erzeugt dir der Distiller daraus deine gewünschte PDF-Datei. Du musst dann natürlich "ps-file" und "pdf-file" entsprechend deinen Dateinamen (incl. Pfad) abändern.

Unter der Version 10 sollte statt sendkeys auch die die Option "OutputFileName" beim -Printout funktionieren. In der Office 97 Version wirst du leider mit sendkeys arbeiten müssen.

Viel Erfolg
Heiko


nach oben   nach unten

Re: excel in pdf konvertieren
von: Wolfgang
Geschrieben am: 13.06.2002 - 16:22:54

Vielen Dank
Allerdings bleibt mir die Eingabe eines Dateinamens in folgender Zeile nicht erspart.
Selection.PrintOut PrintToFile:=True
wolfgang
nach oben   nach unten

Re: excel in pdf konvertieren
von: Heiko
Geschrieben am: 13.06.2002 - 16:53:41

normalerweise sollte der sendkeys-Befehl diesen Dateinamen dort eintragen und das "{Enter}" im Sendkeys-String wird von der Dialogbox als Klick auf "OK" interpretiert.
Ergo, solltest du nichts eintragen müssen.

Ach ja, seltsamerweise musst du bei der Einzelschrittausführung im Debugmodus tatsächlich etwas eingeben, da Excel scheinbar dann mit dem sendkeys-Befehl nichts anfangen kann.
Versuch's mal damit, einfach das Programm durchlaufen zu lassen, bzw. einen Stop erst nach dem Print-Kommando einzufügen.

Und nochwas:
Dim pdfDist As PdfDistiller
hatte ich noch vergessen

nach oben   nach unten

Re: excel in pdf konvertieren - Meine Lösung:
von: Wolfgang
Geschrieben am: 14.06.2002 - 10:40:42

Vielen Dank an alle Helfer, so sieht meine Lösung nun aus:

Sub Ausdruck_in_PDF()
Dim drucker As String, strFile_ps As String, strFile_pdf As String
Dim pdfDist As PdfDistiller
Worksheets("AuswNeu").Select
drucker = Application.ActivePrinter
Application.ActivePrinter = "Acrobat Distiller auf Ne00:"
Application.DisplayStatusBar = True
Application.StatusBar = "pdf-Dateien werden erstellt...bitte warten!"
Application.ScreenUpdating = False
ChDir ThisWorkbook.Path
Set pdfDist = New PdfDistiller
For i = 1 To 58 'bis 59
Range("K2").Select
ActiveCell.FormulaR1C1 = i
ActiveWorkbook.Names.Add Name:="Print_Area", RefersToR1C1:="=Druckbereich1, Druckbereich2, Druckbereich3, Druckbereich4, Druckbereich5, Druckbereich6, Druckbereich7, Druckbereich8, Druckbereich9"
strFile_ps = ThisWorkbook.Path & "\" & Worksheets("AuswNeu").Range("I1").Value & " " & Worksheets("AuswNeu").Range("H1").Value & ".ps"
If Dir(strFile_ps) <> "" Then Kill strFile_ps
strFile_ps = ThisWorkbook.Path & "\" & Worksheets("AuswNeu").Range("I1").Value & " " & Worksheets("AuswNeu").Range("H1").Value & ".ps" & "{Enter}"
strFile_pdf = ThisWorkbook.Path & "\" & Worksheets("AuswNeu").Range("I1").Value & " " & Worksheets("AuswNeu").Range("H1").Value & ".pdf"
Application.StatusBar = strFile_pdf & " wird erstellt...bitte warten!"
If Dir(strFile_pdf) <> "" Then Kill strFile_pdf
SendKeys strFile_ps
ActiveWindow.SelectedSheets.PrintOut PrintToFile:=True
strFile_ps = ThisWorkbook.Path & "\" & Worksheets("AuswNeu").Range("I1").Value & " " & Worksheets("AuswNeu").Range("H1").Value & ".ps"
pdfDist.FileToPDF strFile_ps, strFile_pdf, ""
Next
Application.StatusBar = False
Application.ScreenUpdating = True
Application.ActivePrinter = drucker
End Sub

wolfgang

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "excel in pdf konvertieren"