Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

PDF-Creator

Betrifft: PDF-Creator von: Thomas
Geschrieben am: 25.10.2014 23:01:27

Bei der Umstellung von XP auf W8 erscheint jetzt die Meldung "Bibliothek nicht gefunden". In Verweise wird nun der PDFCreator nicht mehr gefunden. Gibt es eine Möglichkeit den PDFCreator wieder in die Verweise einzubinden?

  

Betrifft: AW: PDF-Creator von: mumpel
Geschrieben am: 25.10.2014 23:18:26

Hallo!

1. Es wäre schön wenn Du etwas an Deinem an Deinem Postingstil arbeiten würdest. Ein Gruß und ein Schlußgruß bei Threaderöffung erhöht die Chance auf Antwort. ;-)

2. Wenn der PDF-Creator korrekt installiert wurde wird es auch wieder funktionieren. Entferne den Verweis und setze ihn neu.

3. Early-Binding ist nur in seltenen Fällen erforderlich. Du solltest nach Möglichkeit mit Late-Binding arbeiten, dann benötigst Du keinen Verweis. Late-Binding sähe dann z.B. so aus.

Sub Test()
Dim pdfJob As Object

Set pdfJob = CreateObject("PDFCreator.clsPDFCreator")

'.... 

End Sub




VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 15
Gruß, René


  

Betrifft: AW: PDF-Creator von: Thomas
Geschrieben am: 26.10.2014 11:29:25

Hallo Rene!
Vielen Dank für deine Hinweise :-)
Gestern war ich anscheinend schon so müde, dass ich die guten Gepflogenheiten vergessen habe :-)

Es am immer die Meldung Bibliothek nicht gefunden.
Er zeigte mir gestern in verfügbare Verweise zwar noch den PDF-Creator an, aber davor stand ein "NICHT"
Ich habe den Haken rausgenommen, auf OK und Speichern geklickt. Jetzt ist der PDF-Creator nicht mehr unter Verweise ersichtlich.
Ich habe nun im Quellcode deine Anweisung ergänzt. Jedoch erscheint jetzt immer die Fehlermeldung, dass
die Woche nicht existiert. Eigentlich sollte ein PDF auf dem Desktop gespeichert werden. Ist denn der
PDF-Creator in den neuen Officepakten nicht mehr Bestandteil? Ich deine Anweisung mit <--- gekennzeichnet.

Private Sub Drucken_PDF()

Dim strSheet As String


On Error GoTo fehler 'Fehlermeldung, wenn Tabelle nicht existiert
strSheet = Application.CommandBars.ActionControl.Text
ThisWorkbook.Sheets(strSheet).Activate


ActiveSheet.AutoFilterMode = False

'Filtern
 Range("A22:W224").Sort Key1:=Range("K22"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

'Druckbereich festlegen
ActiveSheet.PageSetup.PrintArea = "$A$1:$W$45"


'Variablen inizialisieren

Dim pdfJob As Object <--- ergänzt

Set pdfJob = CreateObject("PDFCreator.clsPDFCreator") '<---- ergänzt

'Dim pdfJob As PDFCreator.clsPDFCreator '<--- das war vorher drinnen
Dim sPDFName As String
Dim sPDFPath As String
Dim Arbeiten As String
Dim StandartDrucker As String

'Standarddrucker aktivieren
StandartDrucker = Application.ActivePrinter

'Tabellennamen vergeben
Arbeiten = ActiveSheet.Range("A17").Value

'Umwandlung Tabelle in PDF mit Name
sPDFName = Arbeiten & ".pdf"
sPDFPath = ActiveWorkbook.Path '& Application.PathSeparator

'PDFCreator anwerfen und Umwandlung ausführen
Set pdfJob = CreateObject("PDFCreator.clsPDFCreator")

With pdfJob
    If .cStart("/NoProcessingAtStartup") = False Then
        MsgBox "Kann PDFCreator nicht starten.", vbCritical + _
            vbOKOnly, "PrtPDFCreator"
        Exit Sub
    End If
    .cOption("UseAutosave") = 1
    .cOption("UseAutosaveDirectory") = 1
    .cOption("AutosaveDirectory") = sPDFPath
    .cOption("AutosaveFilename") = sPDFName
    .cOption("AutosaveFormat") = 0    ' 0 = PDF
    .cClearCache
End With

ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"

Do Until pdfJob.cCountOfPrintjobs = 1
    DoEvents
Loop
pdfJob.cPrinterStop = False

Do Until pdfJob.cCountOfPrintjobs = 0
    DoEvents
    Sleep 250
Loop

pdfJob.cClose
Set pdfJob = Nothing
Application.ActivePrinter = StandartDrucker

ActiveSheet.AutoFilterMode = False

Range("A22:W22").Select
Selection.AutoFilter
Range("A1").Select
Exit Sub

fehler: MsgBox "Tabelle existiert nicht!"

End Sub
Viele Grüße
Thomas


  

Betrifft: AW: PDF-Creator von: mumpel
Geschrieben am: 26.10.2014 12:20:55

Der PDF-Creator war noch nie Bestandteil von Microsoft Office, da er nicht von Microsoft stammt. Du musst den PDF-Creator natürlich erstmal installieren. Herunterladen unter PDF-Creator Homepage


Du könntest Dir aber auch "ExportAsFixedFormat" anschauen (verfügbar ab Office 2007 mit SP 2).


  

Betrifft: AW: PDF-Creator von: Thomas
Geschrieben am: 26.10.2014 13:39:43

Hallo Rene!
Nachdem ich nun den PDF-Creator installiert und in den Verweise gesetzt habe, kommt, nachdem on Error
deaktiviert habe, folgende Meldung: Objektvariable oder With-Blockvariable nicht festgelegt (Fehler 91)
Markiert wird die zweite Zeile des Codes.

 strSheet = Application.CommandBars.ActionControl.Text
Das Programm wurde auf Excel 2003 und XP erstellt.


  

Betrifft: AW: PDF-Creator von: Thomas
Geschrieben am: 26.10.2014 13:54:53

Hallo Rene!
Nachdem ich nun den PDF-Creator installiert und in den Verweise gesetzt habe, kommt, nachdem on Error
deaktiviert habe, folgende Meldung: Objektvariable oder With-Blockvariable nicht festgelegt (Fehler 91)
Markiert wird die zweite Zeile des Codes.

 strSheet = Application.CommandBars.ActionControl.Text
Das Programm wurde auf Excel 2003 und XP erstellt.


  

Betrifft: AW: PDF-Creator von: Thomas
Geschrieben am: 26.10.2014 14:39:19

Hallo Rene!
Danke für deine Hilfe!
Problem hat sich erledigt. Kleine Änderungen vorgenommen. Es funktioniert nun wieder!
VG
Thomas