ich möchte folgende Abfrage
schtasks /query /S SERVER /V /FO csv | find /i "TEXT" > test.csv
über VBA erstellen und das Ergebnis nicht in test.csv sondern in einem Excel Arbeitsblatt dargestellt haben.
Vorschläge? Danke.
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu starten.
Erstelle ein neues Modul:
Einfügen
und wähle Modul
.Füge den folgenden VBA-Code ein, um die Batch-Datei auszuführen und die Ergebnisse in Excel zu importieren:
Sub ExecuteBatchFile()
Dim objShell As Object
Dim objExec As Object
Dim strOutput As String
Dim i As Long
Set objShell = CreateObject("WScript.Shell")
Set objExec = objShell.Exec("schtasks /query /S SERVER /V /FO csv")
' Ausgabe von STDOUT lesen
Do While Not objExec.StdOut.AtEndOfStream
strOutput = objExec.StdOut.ReadLine
' Ausgabe in Excel Zelle schreiben
Cells(i + 1, 1).Value = strOutput
i = i + 1
Loop
End Sub
Schließe den VBA-Editor und gehe zurück zu Excel.
Führe das Makro aus:
ALT + F8
, wähle ExecuteBatchFile
und klicke auf Ausführen
.Fehler: "Befehlszeile nicht gefunden"
Fehler: Ergebnisse erscheinen nicht in Excel
Fehler: Makro läuft nicht
Datei
> Optionen
> Trust Center
> Einstellungen für den Trust Center
und aktiviere Makros.CSV-Datei importieren: Wenn du bereits eine .csv
-Datei hast, kannst du diese einfach in Excel importieren:
Daten
> Daten abrufen
> Aus Text/CSV
.Laden
.Power Query: Nutze Power Query
, um Daten aus verschiedenen Quellen zu importieren und zu transformieren.
Wenn du eine Batch-Datei ausführen möchtest, die eine einfache Abfrage macht, kannst du die folgende Modifizierung des Skripts verwenden:
Sub RunSimpleBatch()
Dim objShell As Object
Set objShell = CreateObject("WScript.Shell")
objShell.Run "deinBatchScript.bat"
End Sub
Ersetze deinBatchScript.bat
durch den Pfad deiner .bat
-Datei.
On Error Resume Next
, um Fehler abzufangen, und implementiere eine Logging-Funktion für bessere Nachverfolgbarkeit.1. Wie kann ich eine Batch-Datei aus Excel heraus direkt ausführen?
Du kannst eine Batch-Datei mit dem Befehl Shell
oder WScript.Shell.Exec
in VBA aufrufen.
2. Kann ich die Ergebnisse von mehreren Batch-Befehlen in Excel darstellen?
Ja, du kannst mehrere Exec
-Befehle in deinem VBA-Skript verwenden und die Ergebnisse in verschiedene Zellen schreiben. Achte darauf, dass du die Zelle nach jeder Ausgabe korrekt anpasst.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen