none
Programm "pdftk" über Befehlszeile ausführen

    Frage

  • Hallo Zusammen,

    ich habe mit dem programm pdftk ein schönes Programm gefunden um pdf Dateien aus Access heraus zu bearbeiten.

    pdftk lässt sich über die Befehlszeile (also cmd) ansteuern. Manuell, also in cmd geht das auch sehr gut.

    Leider weiss ich jedoch nicht wie ich das mit VBA mache Vielleicht hat jemand einen Tipp für mich.

    Aktuell mache ich das so, dass ich Aus Windows cmd öffne. Dann dort in das Verzeichnis navigiere in dem sich das Programm befindet (cd Program Files (x86)\PDF Labs\PDFtk Server\bin\)

    und dann dort den Befehl eingebe. (Bspw. <tt>pdftk 1.pdf output 1.128.pdf owner_pw foopass um ein vorhandenes PDF zu verschlüsseln)</tt>

    Wie kann ich diesen Befehl aus VBA ausführen?

    Hetzlichen Dank für Hilfe.

    Patrick 

    <tt></tt>

    Montag, 11. März 2013 11:02

Alle Antworten

  • Hallo Patrick,

    damit müßte es klappen:

    Dim stAppName As String
        stAppName = Deine Befehlszeile
        Call Shell(stAppName, 1)

    Gruß

    Giorgio

    Montag, 11. März 2013 12:00
  • Hallo Giorgio,

    vielen Dank. Das Problem ist aber, dass ich die Befehlszeile nur im richtigen Verzeichnisausführen kann. D.h. ich muss in der Shell erst in das richtigen Verzeichnis kommen (C:\Program Files (x86)\PDF Labs\PDFtk Server\bin\) kommen.

    Dort wird dann die Befehlszeile auch verstanden.

    Aber wie öffne ich die Shell mit diesem Verzeichnispfad?

    Vielen Dank nochmal.

    Grüße

    Patrick

    Dienstag, 12. März 2013 07:19
  • Hallo Patrick,

    Du kannst aber doch der Shell-Funktion Deinen Pfad mitgeben...? Also:

    Dim stAppName As String
    Dim stPfad as String
        stPfad = Dein Pfad
        stAppName = Deine Befehlszeile
        Call Shell(stPfad & "/cmd " & stAppName, 1)

    Die einzige Schwierigkeit der Shell-Funktion ist meiner Erfahrung nach, die Anführungszeichen richtig zu setzen, ansonsten hast Du aber die volle Funktionalität bei der Navigation bzw. Pfadangabe. Wichtig ist dabei, und das hatte ich zuvor vergessen, die Übergabe Deiner Befehlszeile mit der Option "/cmd".

    Ich habe allerdings lange nicht mehr damit gearbeitet und kann das (vorläufig aus Zeitgründen) nur als Tipp formulieren, Dein Vorhaben auf die Weise auszuprobieren. Eigentlich müßte das klappen.

    Gruß

    Giorgio  

    Dienstag, 12. März 2013 15:16