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.