[gelöst] VBScript aus Navision ausführen

24. Oktober 2011 08:49

Hallo,

ich habe hier ein VB-Sript denn ich gerne aus Navision ausführen möchte.

Wie kann ich die Datei MeinScript.vbs mit Parameter aus Navision ausführen?

Für Exe-Dateien gibt es ja die Funktion Shell. Gibt es eine ähnlichen Befehl für VBS-Datein?

Viele Grüsse
Zuletzt geändert von dai am 24. Oktober 2011 10:56, insgesamt 1-mal geändert.

Re: VBScript aus Navision ausführen

24. Oktober 2011 09:04

Da kann dir möglicherweise die Automation 'Microsoft Script Control 1.0'.ScriptControl weiterhelfen. Da kann man das Script zeilenweise rein schieben oder vielleicht auch als Objekt laden.

Re: VBScript aus Navision ausführen

24. Oktober 2011 09:20

Hallo,

was passiert denn, wenn du das Skript in der CMD-Shell von Hand aufrufst, also einfach 'MeinSkript.vbs' mit Parameter eingibst?

Falls das funktioniert, sollte auch die ganz normal Shell im NAV funktionieren. Mal abgesehen, von der nervigen Anfrage, ob man das Skript ausführen soll. Hierfür dürfte der Scripting Host weiterhelfen (mal im Forum suchen)

Gruß, Fiddi

Re: VBScript aus Navision ausführen

24. Oktober 2011 10:20

Hallo,

also mit Shell cmd aufrufen und dann den Skript ausführen funktionert erstmal schon.

Jetzt aber ein weiteres Problem das nervig ist. Da sich die Paramater bei jeden Aufruf ändern kann kommt jedes mal die
nervige Meldung, das die Datei zum ersten Mal ausgeführt wird...... Halten Sie die ausführbare Datei und Ihre Paramater für vertrauenswürdig?

Wie kann man diese Meldung abschalten?

Re: VBScript aus Navision ausführen

24. Oktober 2011 10:29

Nimm nicht SHELL sondern die Automation 'Windows Script Host Object Model'.WshShell. Dort gibt es die Funktion "Run". Mit dem üblichen cscript bzw. wscript kannst du dein VB-Script ausführen.

Re: VBScript aus Navision ausführen

24. Oktober 2011 10:56

Hallo

mit der Automation 'Windows Script Host Object Model'.WshShell. klappt es wunderbar. Die Meldung kommt nicht mehr
und ich muss nicht über die CMD-Shell gehen.

Vielen Dank für die Beiträge

Re: VBScript aus Navision ausführen

6. Februar 2014 23:26

dai hat geschrieben:Hallo,

also mit Shell cmd aufrufen und dann den Skript ausführen funktionert erstmal schon.

Jetzt aber ein weiteres Problem das nervig ist. Da sich die Paramater bei jeden Aufruf ändern kann kommt jedes mal die
nervige Meldung, das die Datei zum ersten Mal ausgeführt wird...... Halten Sie die ausführbare Datei und Ihre Paramater für vertrauenswürdig?

Wie kann man diese Meldung abschalten?


dai hat geschrieben:Hallo,

also mit Shell cmd aufrufen und dann den Skript ausführen funktionert erstmal schon.

Jetzt aber ein weiteres Problem das nervig ist. Da sich die Paramater bei jeden Aufruf ändern kann kommt jedes mal die
nervige Meldung, das die Datei zum ersten Mal ausgeführt wird...... Halten Sie die ausführbare Datei und Ihre Paramater für vertrauenswürdig?

Wie kann man diese Meldung abschalten?


Hallo,

ich hab die selbe Anforderung, bekomme es allerdings nicht zum Laufen. Ich möchte aus NAV (5.0) ein VB-Skript aufrufen und dabei zwei Parameter (Beleg- und Debitornr) mitgeben, die im VB-Skript in TextBoxen landen.

Wenn ich den Aufruf direkt in der Eingabeaufforderung ausführe klappt alles wunderbar. Aber beim Aufruf über die Shell startet zwar das Programm, aber die Parameter kommen nicht an.

Hier die Eingabe bei cmd.exe:
Code:
"C:\Pfad\VBSkript.exe" "Parameter1" "Parameter2"


Bei der selben Eingabe in der Shell
Code:
Shell("C:\Pfad\VBSkript.exe" "Parameter1" "Parameter2")

bekomme ich die Fehlermeldung, dass der Name der Datei ungültige Zeichen enthält.

Bei
Code:
Shell("C:\Pfad\VBSkript.exe" Parameter1 Parameter2)

folgt die Fehlermeldung: Das BS findet die Datei ... nicht.

Ohne die Parameter
Code:
Shell("C:\Pfad\VBSkript.exe")

startet das Programm einwandfrei.

Kann ich in der Shell die cmd aufrufen und den Startaufruf der VB-exe einschl. der Parameter laufen lassen, und wenn ja wie?

Schon mal Danke im Voraus!

Re: [gelöst] VBScript aus Navision ausführen

7. Februar 2014 08:04

Hallo
Komma nach dem .exe und zwischen den Parametern schreiben.

Gruss

Re: [gelöst] VBScript aus Navision ausführen

7. Februar 2014 09:30

Hallo,

erstmal vielen Dank für die schnelle Antwort.

Leider ändert sich auch bei Eingabe der Kommas in der Shell nicht wirklich was:

Code:
Shell("C:\Pfad\VBSkript.exe", "Parameter1", "Parameter2")

Fehlermeldung: Der Name der Datei ... enthält ein ungültiges Zeichen.

Code:
Shell("C:\Pfad\VBSkript.exe", Parameter1, Parameter2)

Fehlermeldung: Das Betriebssystem findet die Datei ... nicht.

Was mache ich hier nur falsch?

Re: [gelöst] VBScript aus Navision ausführen

7. Februar 2014 09:46

Ich denke, dass es so gemeint war:
Code:
Shell('C:\Pfad\VBSkript.exe','Parameter1,Parameter2')

Re: [gelöst] VBScript aus Navision ausführen

7. Februar 2014 09:59

Schon mal:

Code:
SHELL('PFAD\Script.VBS');


ausprobiert?

Gruß, Fiddi

Re: [gelöst] VBScript aus Navision ausführen

7. Februar 2014 10:21

Hallo McClane,

das war`s! Ich hatte das ganze immer mit einer Textvariablen ausgeführt und dabei wurden immer zusätzlich Hochkommas eingefügt. Sobald ich den Aufruf direkt in die Shell schreibe und mit einfachen Hochkommas versehe, klappt es perfekt.

Nochmals Danke an Alle für die schnelle Hilfe!!!

Re: [gelöst] VBScript aus Navision ausführen

7. Februar 2014 16:29

Hallo,

jetzt muss ich doch noch mal an die Community. Der VB-Aufruf über die Shell mit der Parameterübergabe funktioniert einwandfrei. Leider schließt sich aber dabei immer die Form (Verkaufsangebot), aus der ich über einen Menu-Button und Menu-Item den Shell-Aufruf ausführe.

Mein Code (OnPush()) lautet:

Code:
SHELL(VBPfad, STRSUBSTNO('%1', "No." + ' ' + "Sell-to Customer No."));


Kann ich das schließen irgendwie abstellen?

Re: [gelöst] VBScript aus Navision ausführen

7. Februar 2014 16:45

Code:
[ReturnCode]:= SHELL(Name [, Param, ...])


First, if ReturnCode is used, the external program will be run modally, while it will be run non-modally if ReturnCode is not used.

Re: [gelöst] VBScript aus Navision ausführen

7. Februar 2014 18:29

FJS hat geschrieben:Kann ich das schließen irgendwie abstellen?

Schau doch mal, ob dem MenuItem eine PushAction hinterlegt wurde.

Re: [gelöst] VBScript aus Navision ausführen

9. Februar 2014 15:38

Hallo,

# McClane: dem MenuItem ist die Action "Yes" hinterlegt, aber auch bei "No" schließt sich die Form

# h-d.neuenfeldt: auch mit [ReturnCode] ändert sich das Verhalten nicht

Ich hab jetzt mal den Pfad ins Nirwana geändert und da sehe ich dann folgende Fehlermeldung (da ja der Aufruf nicht erfolgen kann):
"'Verkaufsangebot' kann nicht beendet werden, da das System zurzeit arbeitet."

Vielleicht hilft das weiter?

Re: [gelöst] VBScript aus Navision ausführen

9. Februar 2014 17:34

Leere den Eintrag bei PushAction doch mal.

Re: [gelöst] VBScript aus Navision ausführen

9. Februar 2014 17:59

Hallo McClane,

das war`s, super Danke und noch einen schönen Rest-Sonntag!!!