Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: padkey am 18.04.12 - 11:56:50

Titel: Aus Lotus Script Agent pdf mit bestimmten pdf Programm starten
Beitrag von: padkey am 18.04.12 - 11:56:50
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!
Titel: Re: Aus Lotus Script Agent pdf mit bestimmten pdf Programm starten
Beitrag von: ascabg am 18.04.12 - 12:01:51
Hallo,

Shell-Funktion


Andreas
Titel: Re: Aus Lotus Script Agent pdf mit bestimmten pdf Programm starten
Beitrag von: Axel am 18.04.12 - 12:01:55
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
 
Titel: Re: Aus Lotus Script Agent pdf mit bestimmten pdf Programm starten
Beitrag von: padkey am 18.04.12 - 14:41:13
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!
Titel: Re: Aus Lotus Script Agent pdf mit bestimmten pdf Programm starten
Beitrag von: ascabg am 18.04.12 - 14:50:39
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
Titel: Re: Aus Lotus Script Agent pdf mit bestimmten pdf Programm starten
Beitrag von: Ralf_M_Petter am 18.04.12 - 16:09:37
Du könntest einfach den Sample code aus dem Domino Developer Wiki nehmen:

http://www-10.lotus.com/ldd/ddwiki.nsf/dx/_Call_an_external_program_with_Lotusscript_and_wait_for_it_to_finish_before_continuing_with_your_code_

Grüße

Ralf