214 Benutzer online
11. Juli 2025, 01:12:01

Windows Community



 Antworten / AufrufeThemen mit dem Stichwort craetor
14
Antworten
18941
Aufrufe
PDFCreator - wie unter WordVBA programmieren?
Begonnen von Jean Raul
03. Juli 2008, 22:35:12
Hat schon mal jemand versucht, mit dem (kostenlosen) PDFCreator
http://www.pdfforge.org/
WordVBA zu programmieren? Im Prinzip schaffe ich es ja mit dem mitgelieferten Beispielprogrammen. Ich habe aber Probleme damit, den Dateinamen zu programmieren, unter dem die pdf ausgegeben werden soll. Die PDF wird immer mit dem Pfad und Namen ausgegeben, der den Autosave-Optionen des Programms entspricht, aber nicht mit dem Namen, den ich im Programm vorgebe und haben will.

So lautet mein VBA-Skript. Es soll die aktuell in Word geöffnete Datei ohne weitere Benutzereingriffe als PDF in den Pfad <PDFPfad$> unter dem Namen <PDFName$> speichern:
[code]
Public Function PDFDruck(Optional OhneMsg As Boolean)
Dim Zwi$, PDFPfad$, PDFName$, pdfjob
PDFPfad$ = "C:\Zwi"
'Ermittelt den Namen des aktiven Dokuments:
Zwi$ = ActiveDocument.Name
If InStr(1, Zwi$, ".", vbTextCompare) > 1 Then
   PDFName$ = Mid(Zwi$, 1, InStr(1, Zwi$, ".", vbTextCompare) - 1)
Else
   PDFName$ = "Unbenannt"
End If

Set pdfjob = New PDFCreator.clsPDFCreator
With pdfjob
   If .cStart("/NoProcessingAtStartup") = False Then
      MsgBox "PDFCreator kann nicht initialisiert werden. Bitte beenden Sie die PDFCreator-Prozesse.", vbCritical + _
         vbOKOnly, "PrtPDFCreator"
      GoTo Ende
   End If
   .cOption("UseAutosave") = 1
   .cOption("UseAutosaveDirectory") = 1
   .cOption("AutosaveDirectory") = PDFPfad$
   .cOption("AutosaveFilename") = PDFName$
   .cOption("AutosaveFormat") = 0    '0 = PDF
   .cDefaultPrinter = "PDFCreator"
   .cPrinterStop = False
   .cClearCache
   ActiveDocument.PrintOut Background:=False
End With
'!!!!!!!!!!!!!!!!Wartet ab, bis fertig gedruckt ist:!!!!!!!!!!!!!!
Dim sleepTime, maxTime, c
sleepTime = 250
maxTime = 10
c = 0
Do While (pdfjob.cOutputFilename = "") And (c < (maxTime * 1000 / sleepTime))
  c = c + 1
  Sleep 200
Loop
'!!!!!!!!!!!!!!!Ende des Abwartens!!!!!!!!!!!!!!
Ende:
Zwi$ = pdfjob.cOutputFilename
pdfjob.cClose
Set pdfjob = Nothing
If Not OhneMsg Then
   If Len(Zwi$) > 0 Then
      MsgBox "Das Dokument wurde nach " & Zwi$ & " gespeichert.", vbInformation
   Else
      MsgBox "Beim Speichern als pdf ist ein Fehler aufgetreten!", vbCritical
   End If
End If
PDFDruck = Zwi$
End Function
[/code]

Auch die anderen COM-Funktionen des Programms sind mir ein Buch mit sieben Rätseln, da die Funktionen nach meiner Ansicht sehr schlecht dokumentiert sind. Weiß jemand mehr? Anbei die "Dokumentation" und die Beispieldateien:

creatorcreator fehlermeldungfehlermeldung 7323134473231344 5818717858187178 entfernenentfernen makermaker d2kd2k softwaresoftware ymsyms dateidatei go-windowsgo-windows windowswindows vistavista cconvertfile jpgcconvertfile jpg integrierenintegrieren schnelldruckschnelldruck kernel32kernel32 ausgabepfadausgabepfad printprint 13552729581355272958 buchbuch 4724403447244034 selectselect 5614685456146854 projectproject 6172594861725948 linienlinien profileprofile 6844524768445247 pdfjobpdfjob
3
Antworten
4325
Aufrufe
SFX-Creator Eintrag entfernen
Begonnen von Dennisen
26. März 2008, 07:37:28
Hallo zusammen,
ich hatte mir SFX-Creator v 2.6 installiert (erstellt selbstentpackende .exe Dateien),
und es wieder mit Administratoren Befugnissen deinstalliert. Leider trat aber der Fehler
"Could not remove Entries in the Windows Registry properly" auf.

Das "Problem" ist nun, dass wenn ich eine Archiv-Datei (benutze WinRAR) rechts anklicke,
da immernoch "createsfx" steht, was nicht wirklich schön aussieht.

Wenn man da nun draufklickt, sagt er mir, dass das nichtmehr zugeordnet sei,
und ich in der Systemsteuerung etwas unter "Zuordnungen" ändern müsse.
Doch leider gibt es diesen Punkt dort nicht.

Was kann ich also tun um das "createsfx" da rauszubekommen?

PS: Ich nutze Vista Home Premium 32-Bit.

MFG,
Dennis