Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

vbsscript starten mit Variablen im Pfad

Forumthread: vbsscript starten mit Variablen im Pfad

vbsscript starten mit Variablen im Pfad
22.04.2021 19:42:06
DirkR
Hallo Excelgemeinde,
ich komme bei folgendem Code nicht weiter und hoffe auf eure Hilfe:

Sub Test()
Dim WSHShell As Object
Dim sPathFile As String
Set WSHShell = CreateObject("WScript.Shell")
sPathFile = ThisWorkbook.Path & "\Exe beenden.vbs"
WSHShell.Run """D:\000 - Test\Exe beenden.vbs"""
'WSHShell.Run """sPathFile"""
Set WSHShell = Nothing
End Sub
Ich möchte ein vbscript-File starten...
Mit dem ausgeschriebenen Pfad klappt das auch super.
Allerdings möchte im Pfad 'ThisWorkbook.path' verwenden.
Aber das bekomme ich nicht hin.
Bei der auskommentierten Zeile bekomme ich eine Fehlermeldung.
Wo liegt der Fehler?
Bitte um Hilfe...
Gruß DirkR
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vbsscript starten mit Variablen im Pfad
22.04.2021 20:37:14
DirkR
Hallo Excelgemeinde,
nach vielen Versuchen habe ich es hinbekommen:
WSHShell.Run """" & sPathFile & """"
Schönen Abend
Gruß DirkR
AW: vbsscript starten mit Variablen im Pfad
22.04.2021 20:39:49
volti
Hallo Dirk,
versuche es so...
Du willst ja eine Variable in eingeschlossenen " übergeben.
WShShell Chr(34) & sPathfile & Chr(34)
viele Grüße
Karl-Heinz
Anzeige
AW: vbsscript starten mit Variablen im Pfad
23.04.2021 07:30:04
DirkR
Hallo Karl-Heinz,
vielen Dank...
Es klappt einwandfrei!
Gruß
DirkR
;
Anzeige
Anzeige

Infobox / Tutorial

vbscript starten mit Variablen im Pfad


Schritt-für-Schritt-Anleitung

Um ein VBScript über VBA zu starten und dabei Variablen im Pfad zu verwenden, befolge die folgenden Schritte:

  1. Öffne Excel und erstelle ein neues Modul im VBA-Editor.

  2. Füge den folgenden Code ein:

    Sub Test()
        Dim WSHShell As Object
        Dim sPathFile As String
        Set WSHShell = CreateObject("WScript.Shell")
        sPathFile = ThisWorkbook.Path & "\Exe beenden.vbs"
        WSHShell.Run """" & sPathFile & """"
        Set WSHShell = Nothing
    End Sub
  3. Ersetze den Pfad in sPathFile nach Bedarf, um auf dein spezifisches VBScript zu verweisen.

  4. Führe das Makro aus, um das Skript zu starten.


Häufige Fehler und Lösungen

  • Fehler: „Datei nicht gefunden“

    • Stelle sicher, dass der Pfad zur VBScript-Datei korrekt ist. Der Code sPathFile = ThisWorkbook.Path & "\Exe beenden.vbs" sollte den vollständigen Pfad zur Datei angeben.
  • Fehler bei der Ausführung des VBScript

    • Überprüfe den Inhalt des Skripts, um sicherzustellen, dass es ohne Fehler läuft. Teste das Skript separat in einer Windows-Umgebung.
  • Falsche Verwendung von Anführungszeichen

    • Der Code WSHShell.Run """" & sPathFile & """" stellt sicher, dass der Pfad korrekt in Anführungszeichen gesetzt wird.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, ein VBScript über VBA auszuführen:

  1. Verwendung von Shell:

    Shell "wscript.exe """ & sPathFile & """", vbNormalFocus
  2. Direktes Ausführen ohne Variablen:

    WSHShell.Run "D:\000 - Test\Exe beenden.vbs"

Die Verwendung von Shell kann in bestimmten Szenarien nützlich sein, wenn du spezifische Parameter übergeben musst.


Praktische Beispiele

Hier sind einige praktische Anwendungsszenarien:

  • Automatisierung von Aufgaben: Du kannst ein VBScript verwenden, um regelmäßig Daten zu verarbeiten oder Berichte zu erstellen.
  • Systembefehle ausführen: Nutze VBA, um Skripte zu starten, die Systembefehle ausführen, wie das Beenden von Prozessen oder das Kopieren von Dateien.

Ein Beispiel für das Starten eines Scripts könnte so aussehen:

Sub StartScript()
    Dim WSHShell As Object
    Set WSHShell = CreateObject("WScript.Shell")
    WSHShell.Run "wscript.exe """ & ThisWorkbook.Path & "\DeinSkript.vbs""", 1, True
    Set WSHShell = Nothing
End Sub

Tipps für Profis

  • Debugging: Verwende Debug.Print um den Wert von sPathFile vor der Ausführung zu überprüfen. So kannst du sicherstellen, dass der Pfad korrekt ist.

  • Sicherheitsoptionen: Stelle sicher, dass deine Sicherheitsoptionen in Excel das Ausführen von Makros und Skripten zulassen.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung in dein VBA-Skript, um unerwartete Fehler zu erfassen und zu behandeln.


FAQ: Häufige Fragen

1. Wie kann ich den Pfad dynamisch anpassen?
Du kannst ThisWorkbook.Path verwenden, um den Pfad zur aktuell geöffneten Arbeitsmappe zu erhalten. So wird der Pfad automatisch angepasst, wenn du die Arbeitsmappe an einen anderen Speicherort verschiebst.

2. Was ist der Unterschied zwischen WSHShell.Run und Shell?
WSHShell.Run ist spezifisch für die Windows-Shell und ermöglicht das Ausführen von Skripten, während die Shell-Funktion allgemeiner ist und auch andere Programme starten kann.

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