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

Dos Fenster minimieren bzw. cmd Fenster

Forumthread: Dos Fenster minimieren bzw. cmd Fenster

Dos Fenster minimieren bzw. cmd Fenster
Markus
Hallo zusammen,
ich habe in VBA folgendes programmiert
ShellAndWait ("CMD.EXE /c " & "ping " & Maschine2 & " > C:\Ping.txt")
ich such im Hausnetz mit einem ping eine Maschine .
Dabei öffnet sich das schwarze "Dos-Fenster" im Vordergrund, was mich stört da es über meinem Excel Blatt liegt.
Gibt es eine Möglichkeit das schwarze Fenster in den Hintergrund zu bringen oder zu minimieren oder Excel frech in den Vordergrund zu bringen dann wäre das Fenster ja im Hintergrund:-)
Vielen Dank für Eure Hilfe
Kall
Anzeige
AW: Dos Fenster minimieren bzw. cmd Fenster
10.05.2011 17:10:19
MichaV
Hallo,
wie hast Du denn ShellAndWait programmiert?
Gruss- Micha
AW: Dos Fenster minimieren bzw. cmd Fenster
11.05.2011 15:13:30
Kall
Hallo so habe ich es programmiert.
<pre>Function ShellAndWait(FileName As String)
Dim objScript
Set objScript = CreateObject("WScript.Shell")
ShellApp = objScript.Run(FileName, 1, True)
ShellAndWait = True
End Function</pre>
Danke und Gruß
Anzeige
AW: Dos Fenster minimieren bzw. cmd Fenster
12.05.2011 15:39:42
Kall
Danke vbminimized funktioniert
Gruß Kall
Danke für die Rückmeldung owT
12.05.2011 16:32:30
MichaV
;
Anzeige
Anzeige

Infobox / Tutorial

Dos Fenster minimieren: So bringst du das CMD Fenster in den Hintergrund


Schritt-für-Schritt-Anleitung

Um das CMD Fenster zu minimieren oder im Hintergrund zu verstecken, kannst du die Funktion ShellAndWait verwenden, die in VBA programmiert wird. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" wählst.

  3. Kopiere und füge den folgenden Code in das Modul ein:

    Function ShellAndWait(FileName As String)
        Dim objScript
        Set objScript = CreateObject("WScript.Shell")
        ShellApp = objScript.Run(FileName, 1, True)
        ShellAndWait = True
    End Function
  4. Um das CMD Fenster minimiert zu starten, ändere die Zahl im Run-Befehl. Für minimiert verwendest du vbMinimized, wie folgt:

    ShellApp = objScript.Run(FileName, vbMinimized, True)
  5. Jetzt kannst du die Funktion aufrufen, um den Ping-Befehl auszuführen, ohne dass das CMD Fenster im Vordergrund erscheint:

    ShellAndWait ("CMD.EXE /c " & "ping " & Maschine2 & " > C:\Ping.txt")

Häufige Fehler und Lösungen

  • Das CMD Fenster öffnet sich kurz und schließt sofort.
    Stelle sicher, dass der Befehl richtig programmiert ist und dass du die Ausgaben korrekt umleitest.

  • Das CMD Fenster wird nicht minimiert.
    Überprüfe, ob du vbMinimized korrekt im Run-Befehl verwendet hast. Manchmal kann auch die Zahl 0 funktionieren, um das Fenster zu verstecken.

  • Excel bleibt im Hintergrund, während das CMD Fenster im Vordergrund ist.
    Eine Lösung könnte sein, das Excel-Fenster aktiv zu setzen, indem du nach dem Aufruf von ShellAndWait den Fokus zurück auf Excel bringst.


Alternative Methoden

Neben der Verwendung von VBA gibt es auch andere Methoden, um das CMD Fenster zu minimieren oder zu verstecken:

  • Batch-Dateien: Erstelle eine Batch-Datei, die den gewünschten Befehl ausführt, und führe diese über die Run-Methode in VBA aus.
  • Task Scheduler: Plane die Ausführung des CMD Befehls über den Windows Task Scheduler. Dies ermöglicht die Ausführung im Hintergrund ohne ein sichtbares Fenster.

Praktische Beispiele

Hier ist ein praktisches Beispiel, das zeigt, wie du das CMD Fenster minimieren kannst, während du eine Ping-Anfrage sendest:

Sub PingMaschine()
    Dim Maschine2 As String
    Maschine2 = "192.168.1.1" ' Beispiel IP Adresse
    ShellAndWait ("CMD.EXE /c " & "ping " & Maschine2 & " > C:\Ping.txt")
End Sub

Verwende diese Funktion in deinem Excel-Dokument, um die Ping-Anfrage zu senden, ohne dass das CMD Fenster sichtbar ist.


Tipps für Profis

  • Nutze die WScript.Shell-Objekteigenschaften, um noch mehr Kontrolle über das CMD Fenster zu erhalten.
  • Experimentiere mit verschiedenen Werten im Run-Befehl, um herauszufinden, welcher am besten für deine Bedürfnisse geeignet ist.
  • Halte Ausschau nach Updates oder Änderungen in den Excel- und VBA-Foren, um neue Tricks und Tipps zu finden, die dir helfen können, CMD Befehle effizient zu integrieren.

FAQ: Häufige Fragen

1. Wie funktioniert die Funktion ShellAndWait genau?
Die Funktion ShellAndWait verwendet das WScript.Shell-Objekt, um einen externen Befehl auszuführen. Der zweite Parameter steuert, wie das Fenster angezeigt wird (normal, minimiert, etc.).

2. Was kann ich tun, wenn das CMD Fenster trotzdem angezeigt wird?
Überprüfe deine Argumente und stelle sicher, dass du vbMinimized korrekt einsetzt. Teste auch unterschiedliche Werte, um zu sehen, ob eine andere Einstellung besser funktioniert.

3. Kann ich andere CMD-Befehle auf ähnliche Weise ausführen?
Ja, du kannst jede Art von CMD-Befehl auf diese Weise ausführen, indem du den entsprechenden Befehl in die ShellAndWait-Funktion einfügst.

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