Autor Thema: Aus Lotus Script Agent pdf mit bestimmten pdf Programm starten  (Gelesen 2516 mal)

Offline padkey

  • Aktives Mitglied
  • ***
  • Beiträge: 107
Hallo zusammen,

ich will eine pdf-Datei aus einem Dokument speichern unter c:\tmp\xy.pdf (funktioniert) und lokal verändern. Das lokale speichern funktioniert soweit.
Nach dem Speichern soll die Pdf-Datei mit einem bestimmten Programm geöffnet werden. Leider weiß ich nicht, wie man dies in Lotus Script umsetzen kann, dass die pdf Datei mit diesem Programm geöffnet wird.

Programm liegt unter c:\programme\pdf-tool\tool.exe

Tool Unterstüzt kein OLE.

Im 2. Step soll diese modifizierte Datei nach schließen des Programms wieder in das LN-Dokument gepackt werden.

Welche Möglichkeiten bestehen hierzu?
Das lokale speichern das Datei ist nicht notwendig, wenn es auch anders geht ...

Über Vorschläge freue ich mich sehr!

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Hallo,

Shell-Funktion


Andreas

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Das sollte sich mit der Script-Funktion Shell machen lassen.

Dim result As Integer
result = Shell("c:\programme\pdf-tool\tool.exe xy.pdf", 3)

Die genauen Parameter kannst du in den Designer-Hilfe nachlesen.

Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline padkey

  • Aktives Mitglied
  • ***
  • Beiträge: 107
Hallo vielen Dank. Funktioniert soweit 1a: ich habe shellid verwendet, damit erhalte ich die Prozessid.

Nachdem das programm geschlossen wurde, will ich ja die  datei wieder in das LN Dokument kopieren:

1.) Möglichkeit: Ich frage in regelmäßigen Abständen die taskliste ab, jedoch bekomme ich da keinen Rückgabewert? Wie erhalte ich die Ausgabe, damit ich weiß, ob der Prozess noch lebt?

Code
'While pdftoolruns= "true"
'	Sleep(10)
'	pdftoolruns = Shell("tasklist /PID eq " & taskid, 3)
'Wend

Leider erhalte ich in pdf tools immer nur 33, dafür das er die tasklist starten konnte. interessanter wäre hier der Rückgabewert? Wie erhalte ich diesen?

2.) Gibt es die Möglichkeit über OLE?

Code
Set obj = CreateObject("Shell.Application")
'obj.ShellExecute "c:\programme\pdf-tool\tool_cmd.exe xy.pdf", 1

Dass ich da mitgeteilt bekomme, wenn die tool_cmd.exe wieder geschlossen wird?

Vielen Dank für Hilfe im Voraus!

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Hallo,

Ich glaube nicht, dass Du so einfach an den Rueckgabewert herankommst.
Was wuerde passieren, wenn Du das Ergebnis (den Rueckgabewerte) von
tasklist /PID eq " & taskid
in eine Textdatei umleiten wuerdest und anschliessend den Inhalt der Textdatei pruefst.

Anderenfalls bleibe wahrscheinlich nur die Moeglichkeit ueber API.


Andreas

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz