Automatisieren mit VBA Excel

Hallo die User.

Nachdem die Umstellung der COM Schnittstelle mit der neuen Version vom PDFCreator nicht explizit dokumentiert ist, habe ich anhand der JS-Beispiele zumindest die Grundfunktion mit wenigen Zeilen wieder herstellen können.

Folgender Code läuft mit Excel2010 und PDFCreator 2.1.0

-----------------------------

Sub test()

Dim pdfjob
Dim job

Set pdfjob = CreateObject("PDFCreatorBeta.JobQueue")

pdfjob.Initialize

Call Drucken

pdfjob.WaitForJob (10)

Set job = pdfjob.NextJob

job.SetProfileByGuid ("DefaultGuid")
job.ConvertTo ("xxxxxxxxx\\Desktop\\PDF Test\\PDF Test.pdf")

If job.IsFinished = True Then pdfjob.ReleaseCom

End Sub

----------------------------------

Sub Drucken()
Dim wshNetwork As Object
Const Drucker1 As String = "PDFCreator"

Set wshNetwork = CreateObject("WScript.Network")
wshNetwork.SetDefaultPrinter Drucker1
Worksheets(1).PrintOut

End Sub

----------------------------

Was nicht geht: SetProfilebyName verursacht eine Fehlermeldung

Und dann ist mir noch die Syntax unklar bei zB

setProfileSettings ("BackgroundPage.enabled", "true"), die Klammerangaben aus JS mag VBA nicht und mit der üblichen VBA anrede zB setProfileSettings.BackgroundPage.enabled = true gehts aber auch nicht.  Hier würde ich mich über eine Dokumentation sehr freuen. Vielleicht weiß wer von euch weiter.


lg, sigeal


Nachdem ich einige Zeit ins experimentieren investiert habe, funktioniert folgende Syntax mit VBA Excel (eigentlich im wesentlichen nur die Klammer aus den C++ Beispielen weglassen):

zB: per VBA im Zuge des automatischen Ausdruckes ein script einbinden:

Set job = pdfjob.NextJob
Job.setprofilesetting "Scripting.enabled", "true"

Job.setprofilesetting "Scripting.Scriptfile", "Pfad"

die Eigenschaften die so gesetzt werden können sind unter http://de.pdfforge.org/pdfcreator/manual/com-interface-Settings

aufgelistet.

Also ich finde, damit kann man schon ganz gut leben. Ich möchte damit diejenigen die auf die Version 1.7.2 zurückgewechselt sind ermutigen sich dem neuen COM-Interface zu stellen.

Einzig setprofilebyname will mir nicht gelingen. Da hoffe ich noch auf fremde Hilfe :)

 

lg, sigeal

 

Hallo,


vielen Dank für ihre Mühen und das Interesse an der neuen Version des COM Interfaces!

Derzeit arbeiten wir an Beispielen, die andere (Skript-)Sprachen gebrauchen. Diese werden
bald veröffentlicht :). 

Sie schreiben, dass die neue Version nicht explizit dokumentiert ist, was genau meinen Sie damit? Schließlich beschreiben wir den Workflow im Kapitel COM Interface/Benutzerhandbuch/Grundlagen/Konvertierung über die COM Schnittstelle. 

Wir haben die SetProfileByName Methode entfernt, leider ist aber der Eintrag dazu im Handbuch noch vorhanden. Dies sollte mit der neuen Version behoben werden.

Grüße,
Sazan

Vielen Dank für den Kommentar.


Mit nicht explizit meinte ich lediglich das Fehlen der exakten Schreibweise für VBA. Der Workflow an sich ist eh beschrieben, nur hilft der nicht wenn man die Schreibweise der jeweiligen (Skript-) Sprache nicht kennt.

Ich wollte aber anderen Usern Mut machen sich auf das neue Interface einzulassen. Es funktioniert für mich einfach und zuverlässig.

Lg, sigeal

Hallo,
Das mit den fehlenden VBA Beispielen ist wohl Jahre später immer noch so.
Schade habe das Projekt immer herne unterstützt.
greets