Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: vbs Datei starten

vbs Datei starten
21.01.2022 09:46:34
Siggi
Hallo,
bei dem folgendem Script dauert es immer zwischen 10 und 30 Sekunden bis über das Makro die vbs Datei ausgeführt wird.
Wenn ich aber die vbs Datei direkt mit einem Doppelklick starte, wird sie sofort ausgeführt.
Ein Makro sollte Arbeitsabläufe beschleunigen, aber das warten nervt ganz schön. Hat Jemand eine Idee warum das so ist, oder verwende ich einen falschen/fehlerhaften Code?

Sub SAPSIV()
Dim myShell As Object
Set myShell = CreateObject("WScript.Shell")
myShell.Run """C:\Users\Mustermann\AppData\Roaming\SAP\SAP GUI\Scripts\SIV_Summe.vbs"""
Set myShell = Nothing
End Sub
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vbs Datei starten
21.01.2022 11:01:03
volti
Hallo Siggi,
ich denke, der Code ist schon in Ordnung und bei mir ist bei meiner Test-VBS auch alles innerhalb <1Sec abgearbeitet.
Insofern kann ich das nicht nachvollziehen. Ich kenne natürlich auch den Inhalt Deiner VBS nicht.
Hier noch eine Alternative, glaube aber nicht, dass es Besserung bringt. Probiere es halt aus.
Code:

[Cc]

Sub SAPSIV() Shell "cmd /c C:&bsol;Users&bsol;Mustermann&bsol;AppData&bsol;Roaming&bsol;SAP&bsol;SAP GUI&bsol;Scripts&bsol;SIV_Summe.vbs", 0 End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: vbs Datei starten
21.01.2022 12:24:44
Siggi
Hi,
Danke für die schnelle Antwort.
Leider bekomme ich bei deinem Vorschlag eine Fehlermeldung wenn ich ihn laufen lasse:
Fehler beim Kompilieren
Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft
Hierbei wird der Befehl shell markiert vom VBA Editor
AW: vbs Datei starten
21.01.2022 12:37:40
volti
Hallo Sigi,
wenn sich Leerzeichen im Dateipfad befinden muss es in " eingeschlossen werden.
Hatte ich vergessen, sorry.
Allerdings erhalte ich keine Fehlermeldung in diesem Falle, sondern es funktioniert nur nicht.
Code:

[Cc]

Sub SAPSIV() Shell "cmd /c ""C:&bsol;Users&bsol;Mustermann&bsol;AppData&bsol;Roaming&bsol;SAP&bsol;SAP GUI&bsol;Scripts&bsol;SIV_Summe.vbs""", 0 End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: vbs Datei starten
21.01.2022 13:14:48
Siggi
Gleiche Fehlermeldung
Mir fällt auf, das shell im Editor nicht mit einem großen "S" geschrieben ist. Liegt es vielleicht daran?
Tippfehler ist ausgeschlossen.
AW: vbs Datei starten
21.01.2022 14:48:01
volti
Nein Siggi,
daran kann es m.E. nicht liegen.
Bei mir läuft es.
Probiere doch Shell mal anderweitig aus.
shell "Notepad.exe", 1
Gruß Karl-Heinz
Anzeige
AW: vbs Datei starten
21.01.2022 14:50:10
volti
Oder so
Shell "cmd /c Notepad.exe", 0
oder so
Shell "cmd /c Notepad.exe", 1
AW: vbs Datei starten
24.01.2022 09:45:56
Siggi
funktioniert auch nicht,
er erkennt scheinbar den Befehl shell nicht als Befehl an
AW: vbs Datei starten
24.01.2022 12:16:16
Siggi
Ich habe nun festgestellt, dass das Makro in einer neuen Datei sofort ausgeführt wird. In meiner vorhandenen Datei (stetig am wachsen) dauert es aber bis zu 30 Sekunden bis die Befehlszeile myshell.run startet.
Es könnte also mit der Anzahl der Makros etwas zu tun haben oder grundsätzlich mit der Tatsache, das die Datei mehr Makros enthält.
Ich denke wir sollten den Thread hier schließen und ggf. mache ich einen neuen auf nachdem ich ein bisschen rumprobiert habe.
Danke
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

VBS-Datei über Excel ausführen


Schritt-für-Schritt-Anleitung

Um eine .vbs Datei über Excel auszuführen, kannst Du den folgenden VBA-Code verwenden. Dieser öffnet und führt die VBS-Datei aus:

Sub SAPSIV()
    Dim myShell As Object
    Set myShell = CreateObject("WScript.Shell")
    myShell.Run """C:\Users\Mustermann\AppData\Roaming\SAP\SAP GUI\Scripts\SIV_Summe.vbs"""
    Set myShell = Nothing
End Sub

Achte darauf, dass der Pfad zur VBS-Datei korrekt ist. Bei Leerzeichen im Pfad musst Du den gesamten Pfad in doppelte Anführungszeichen setzen.


Häufige Fehler und Lösungen

  1. Lange Ausführungszeiten
    Wenn das Script lange dauert, könnte es an der Anzahl der bereits vorhandenen Makros in der Excel-Datei liegen. Versuche die VBS-Datei in einer neuen, leeren Arbeitsmappe auszuführen.

  2. Fehlermeldung
    Wenn Du eine Fehlermeldung wie „Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft“ erhältst, prüfe, ob Du die Shell-Funktion korrekt aufgerufen hast.

  3. Shell-Befehl wird nicht erkannt
    Stelle sicher, dass Du Shell mit einem großen "S" schreibst. Der Befehl muss korrekt eingegeben werden, damit Excel den Befehl erkennt.


Alternative Methoden

Falls der oben genannte Ansatz nicht funktioniert, kannst Du die folgende Methode ausprobieren, um die VBS-Datei auszuführen:

Sub SAPSIV()
    Shell "cmd /c ""C:\Users\Mustermann\AppData\Roaming\SAP\SAP GUI\Scripts\SIV_Summe.vbs""", 0
End Sub

Diese Methode nutzt die Eingabeaufforderung (cmd), um die VBS-Datei zu starten.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du VBS-Skripte mit Excel VBA ausführen kannst:

  1. VBS-Datei öffnen
    Verwende den Shell-Befehl, um eine .vbs Datei zu starten. Hier ein Beispiel, um Notepad zu öffnen:

    Shell "notepad.exe", vbNormalFocus
  2. VBS mit Argumenten ausführen
    Du kannst auch Argumente an Deine VBS-Datei übergeben, indem Du sie einfach an den Befehl anhängst:

    Shell "cmd /c ""C:\Path\To\YourScript.vbs argument1 argument2""", vbHide

Tipps für Profis

  • Debugging: Wenn Du Probleme hast, die VBS-Datei auszuführen, teste den Shell-Befehl zuerst mit einem einfachen Programm wie Notepad. Überprüfe, ob die Shell-Funktion in Deinem VBA funktioniert.

  • VBA to VBS: Wenn Du häufig zwischen VBA und VBS wechselst, kannst Du versuchen, Deinen Code in eine VBScript-Datei zu exportieren, um die Wartung zu erleichtern.

  • Schnelligkeit optimieren: Überlege, ob Du die Anzahl der Makros in Deiner Excel-Datei reduzieren oder optimieren kannst, um die Ausführungsgeschwindigkeit zu erhöhen.


FAQ: Häufige Fragen

1. Wie kann ich die VBS-Datei direkt aus Excel ausführen?
Du kannst die VBS-Datei aus Excel mit einem VBA-Makro ausführen. Verwende dazu die WScript.Shell, um die VBS-Datei zu starten.

2. Warum dauert die Ausführung meiner VBS-Datei über Excel länger als direkt?
Das kann an der Anzahl der Makros in Deiner Excel-Datei liegen. Versuche, die VBS-Datei in einer neuen Datei zu testen, um die Ausführungszeit zu überprüfen.

3. Was ist der Unterschied zwischen Shell und WScript?
Shell ist eine einfache Methode, um Programme auszuführen, während WScript.Shell mehr Funktionen bietet, wie das Ausführen von Skripten und das Arbeiten mit Umgebungsvariablen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige