Navision – Externes Programm starten

Mit nur ein paar Zeilen Code ist es möglich externe Programm (wie z.B. das Notepad) aus Navision heraus zu starten. Möglich macht dies die Verwendung des Windows Scripting Host (WSH).

Zunächst müssen mehrere Variablen angelegt werden. Die Variable wsh spielt hierbei eine besondere Rolle, da sie die Verbindung zum WSH herstellt. Als Typ muß deshalb Automation gewählt und als Subtype der String‘Windows Script Host Object Model’.WshShell eingegeben werden. Die weiteren Variablen werden benötigt um Parameter an Methoden des WSH zu übergeben.

Um dann tatsächlich ein Programm zu starten, verwendet man die Methode Run() des WSH.
Diese erwartet zwei Parameter. Der Erste gibt an, in welcher Form das Programm ausgeführt werden soll, während der Zweite anzeigt ob der Host (in diesem Fall Navision) warten soll, bis das Programm beendet wurde.

Der Code um das Programm zu starten ist demnach recht einfach:

windowMode := 1;
waitOnReturn := FALSE;

CREATE(wsh);
wsh.Run(‘c:\windows\system32\notepad.exe’, windowMode, waitOnReturn);
CLEAR(wsh);

CREATE() instanziiert die Verbindung zum WSH, bevor die Methode RUN() das Programm ausführt. Ein Anschließendes CLEAR() löst die Verbindung zum WSH wieder.

Folgend die gültigen Werte für die Variable windowMode:

0 Hide the window and activate another window.
1 Activate and display the window. (restore size and position) Specify this flag when displaying a window for the first time.
2 Activate & minimize.
3 Activate & maximize.
4 Restore. The active window remains active.
5 Activate & Restore.
6 Minimize & activate the next top-level window in the Z order.
7 Minimize. The active window remains active.
8 Display the window in its current state. The active window remains active.
9 Restore & Activate. Specify this flag when restoring a minimized window.
10 Sets the show-state based on the state of the program that started the application.

One thought on “Navision – Externes Programm starten

  1. Navision bietet auch den SHELL-Befehl, der hat zwar bis SP3 nur 80-Zeichen für die Parameter lässt sich aber dafür schnell benutzen.

    Eine weitere Möglichkeit wenn man kompliziertere Sachen machen will, ist einfach zur Laufzeit ein BatchFile zu schreiben und das am Ende mit SHELL zu starten. Business Analytics macht das übrigens so.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>