Thema Datum  Von Nutzer Rating
Antwort
Rot batch befehlskette in vba umsetzen
04.02.2020 08:08:52 Fritz Steiner
NotSolved
04.02.2020 08:13:39 Fritz Steiner
NotSolved
Rot ..
04.02.2020 09:13:53 Gast56701
NotSolved
04.02.2020 10:53:50 Fritz Steiner
NotSolved

Ansicht des Beitrags:
Von:
Fritz Steiner
Datum:
04.02.2020 08:08:52
Views:
83
Rating: Antwort:
  Ja
Thema:
batch befehlskette in vba umsetzen
Hallo liebe Leute, ich habe mir zur Dateiverwaltung im Heimnetzwerk eine batch Datei erstellt, diese über vbs mit einer Excel Tabelle verknüpft und die .bat beim Starten im Hintergrund mit auszuführen. Das funktioniert so auch bestens. Nun ergibt sich aber das Problem, dass im Netzwerk das Ausführen der .vbs und auch der .bat extra bestätigt werden muss, was einfach nervt. Außerdem möchte ich nicht extra 3 Dateien haben, sondern am liebsten nur die .xlsm. Ich würde das Ganze daher gern optimieren und den Code in VBA übertragen und in einem Excel Makro ausführen. Der Derzeitige Stand sieht so aus: Es liegen insgesamt 3 Dateien vor. Eine .xlsm (Kennwort zum Bearbeiten gesetzt), eine .bat mit Befehlen und eine .vbs als Startintitiator für beide Dateien. Außerdem wird im Anschluss noch eine .txt erzeugt. Die .vbs hat den code: Set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.Workbooks.Open _ ("Pfad_und_Datei.xlsm") If objWorkbook.ReadOnly = True Then If MsgBox("Die Datei ist kennwortgeschützt bzw. wird zur Zeit bearbeitet. Soll die Datei schreibgeschützt geöffnet werden?", 33, "Datei wird verwendet") = 1 Then objExcel.Visible = True Else objWorkbook.Close False Set objExcel = Nothing End If Else Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "dat.bat",0,True objExcel.Visible = True End If Beim Ausführen wird die Excel Tabelle geöffnet und im Hintergrund die .bat ausgeführt. Diese erstellt eine Übersicht über alle Dateien in bestimmten Ordnern, in denen die Zeichenfolge "log" vorkommt und außerdem eine Gesamtübersicht über die Dateistruktur in einem der Ordner. Der Code der .bat lautet so: echo %username% %computername% %date% %time% > user\%username%_%date%.txt echo ------------------------------------ >> user\%username%_%date%.txt echo. >> user\%username%_%date%.txt echo log >> user\%username%_%date%.txt echo ------------------------------------ >> user\%username%_%date%.txt findstr /SIMP "log" H:\ "*.*" >> user\%username%_%date%.txt findstr /SIMP "log" E:\ "*.*" >> user\%username%_%date%.txt echo. >> user\%username%_%date%.txt echo Struktur lokale Nutzerdaten >> user\%username%_%date%.txt echo ------------------------------------ >> user\%username%_%date%.txt cd H:\ tree H:\ /f /a >> user\%username%_%date%.txt end Anschließend übertrage ich die Informationen aus der generierten .txt Datei derzeit in ein neues Tabellenblatt innerhalb der vorliegenden Excel Tabelle, was nicht wirklich galant ist. Ziel: Gibt es eine Möglichkeit die Befehle der .bat in ein Makro umzuformulieren um das gleiche Ergebnis zu erzielen (sich somit die .vbs zu ersparen) und dieses nachfolgend in ein neues Tabellenblatt zu schreiben, anstatt in eine zusätzliche .txt? Ich hoffe ihr könnt helfen, ich wäre euch wirklich sehr dankbar. Leider habe ich nicht wirklich viel Ahnung von Programmierung und habe mir alle Codeschnipsel nur mühsam aus dem Internet zusammengetragen, bis ich ein Ergebnis hatte, mit dem ich für den Moment leben konnte. LG Fritz

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst genau und ausführlich
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
  • Bitte markieren Sie Ihre Anfrage als erledigt wenn Ihnen geholfen wurde
Thema: Name: Email:

 
 

Thema Datum  Von Nutzer Rating
Antwort
Rot batch befehlskette in vba umsetzen
04.02.2020 08:08:52 Fritz Steiner
NotSolved
04.02.2020 08:13:39 Fritz Steiner
NotSolved
Rot ..
04.02.2020 09:13:53 Gast56701
NotSolved
04.02.2020 10:53:50 Fritz Steiner
NotSolved