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: ing.grohn
Geschrieben am: 15.08.2014 09:31:59

Hallo Forum,
um Rechnungen zu archivieren arbeite ich schon "jahrelang" mit dem PDF-Creator.
Seid dem letzten Update auf die Version 1.7.3 erhalte ich die Meldung:
Cannot initilisize PDF-Creator

Was mach ich falsch? oder was läuft falsch??

Den PDF-Creator rufe ich mit dem Modul "PrintToPDF_Early" auf. Das Modul habe ich aus dem Netzt und hat immer funktioniert und wurde nicht verändert!

Für Eure Hilfe bedanke ich mich schon an dieser Stelle!!

Mit freundlichen Grüßen
Albrecht

  

Betrifft: AW: PDF-Creator von: mumpel
Geschrieben am: 15.08.2014 09:43:16

Hallo!

Diese Meldung deutet darauf hin dass der PDF-Creator im Hintergrund bereits läuft. Starte mal "msconfig" und schau nach was beim PC-Start alles geladen wird. Und achte darauf dass der PDF-Creator sauber beendet wird, bevor Du die Prozedur ein weiteres Mal aufrufst.

Gruß, René


  

Betrifft: AW: PDF-Creator von: ing.grohn
Geschrieben am: 15.08.2014 10:19:51

Hallo René,
Du lagst mit Deiner Vermutung völlig richtig.
Das Programm ist noch aktiv!
Was muss ich an dem Modul ändern, damit es funktioniert (wie gesagt, bis zum letzten Update lief alles wunderbar)??
Hier das Modul:


Public Sub PrintToPDF_Early(Pfad As String, DateiName As String)
  Dim pdfjob As Object 'PDFCreator.clsPDFCreator
  Dim sPDFName As String
  Dim sPDFPath As String
 
  Dim Drucker As String
  
    sPDFPath = Pfad
    sPDFName = DateiName
   'Prüfung ob das Arbeitsblatt leer ist; wenn ja dann Programm-Ende
  If IsEmpty(ActiveSheet.UsedRange) Then Exit Sub
  Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
  With pdfjob
   'Sicherstellen, dass der PDFCreator startet
    If .cStart("/NoProcessingAtStartup") = False Then
      MsgBox "Can't initialize PDFCreator.", vbCritical + vbOKOnly, "PrtPDFCreator"
      Exit Sub
    End If
    'Standardwerte setzen
    .cOption("UseAutosave") = 1
    .cOption("UseAutosaveDirectory") = 1
    .cOption("AutosaveDirectory") = sPDFPath
    .cOption("AutosaveFilename") = sPDFName
    .cOption("AutosaveFormat") = 0  ' 0 = PDF
    .cClearCache
  End With
  'MsgBox sPDFPath & sPDFName
  'PDF drucken
  Drucker = ActivePrinter
  ActiveSheet.PrintOut _
              From:=1, _
              To:=1, _
              Copies:=1, _
              ActivePrinter:="PDFCreator"
  'Warten, bis der Druckjob zum Drucken gekommen ist
  Do Until pdfjob.cCountOfPrintjobs = 1
     DoEvents
     Sleep 1000
  Loop
  Sleep 1000
  pdfjob.cPrinterStop = False
  'Warten, bis PDFCreator gedruckt hat; dann Freigabe des Objekts
  Do Until pdfjob.cCountOfPrintjobs = 0
    DoEvents
  Loop
  pdfjob.cClose
  Set pdfjob = Nothing
  ActivePrinter = Drucker
End Sub

Vielleicht hast Du einen Rat!
Mit freundlichn Grüßen
Albrecht


  

Betrifft: AW: PDF-Creator von: mumpel
Geschrieben am: 15.08.2014 10:47:52

Ich kann das Problem nicht nachvollziehen, da es bei mir noch immer fehlerfrei funktioniert.


  

Betrifft: Eventuell ist das... von: Case
Geschrieben am: 15.08.2014 10:19:37

Hallo, :-)

... hilfreich:

Error Messages: Can't Initialize PDFCreator...

Servus
Case



  

Betrifft: AW: Case und René: ..Eventuell ist das... von: ing.grohn
Geschrieben am: 15.08.2014 11:05:02

Hallo Case, Hallo René,
ich werd mich mit Deinem Hinweis auseinandersetzen und hab schon gesehen, dass der Warteprozess anders gehändelt wird (läuft bis Datei gefunden!!)
Melde mich später
Vielen Dank erstmal
mfG
Albrecht