Wie kann ich bitte mittels VBA eine bat Datei erzeugen und diese in einem gewünschten Ordner abspeiichern?
Danke
Josef
Sub Create_bat()
Dim wks As Worksheet
Set wks = Workbooks("Import_Ersatz.xls").Worksheets("bat Datei")
wks.Cells.Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:= _
"K:\Allg_dat\TRANSFER\HST\ABT08\Standesdifferenzen_2008\Konvertierung\Konvert.bat", _
FileFormat _
:=xlText, CreateBackup:=False
Application.Run "checkname"
ActiveWorkbook.Save
ActiveWorkbook.Close
wks.Range("A1").Select
End Sub
Josef
Sub Create_bat()
Dim wks As Worksheet, rngTmp As Range
Set wks = Workbooks("Import_Ersatz.xls").Worksheets("bat Datei")
Open "K:\Allg_dat\TRANSFER\HST\ABT08\Standesdifferenzen_2008\Konvertierung\Konvert.bat" For _
Output As #1
With wks
For Each rng In .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp))
Print #1, rng.Text
Next
End With
Close #1
Application.Run "checkname"
ActiveWorkbook.Close True
wks.Range("A1").Select
End Sub
Gruß
Rudi
Um eine .bat Datei
zu erstellen und diese in einem gewünschten Ordner zu speichern, kannst du folgende Schritte in Excel und VBA ausführen:
Öffne Excel und bereite die Daten in einem Arbeitsblatt vor. Die Daten sollten in der Spalte A von A1 bis A22 stehen.
Öffne den VBA-Editor:
ALT
+ F11
.Füge ein neues Modul hinzu:
Einfügen
> Modul
.Kopiere und füge den folgenden Code ein:
Sub Create_bat()
Dim wks As Worksheet
Dim rng As Range
Set wks = Workbooks("Import_Ersatz.xls").Worksheets("bat Datei")
Open "K:\Allg_dat\TRANSFER\HST\ABT08\Standesdifferenzen_2008\Konvertierung\Konvert.bat" For Output As #1
With wks
For Each rng In .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp))
Print #1, rng.Text
Next
End With
Close #1
Application.Run "checkname"
ActiveWorkbook.Close True
wks.Range("A1").Select
End Sub
Führe das Makro aus:
F5
oder gehe zu Run
> Run Sub/UserForm
.Überprüfe den gewünschten Ordner, um sicherzustellen, dass die .bat Datei
erfolgreich erstellt wurde.
Fehler: "Dateipfad nicht gefunden"
Lösung: Überprüfe den angegebenen Dateipfad und stelle sicher, dass der Ordner existiert.
Fehler: "Zugriffsverletzung"
Lösung: Stelle sicher, dass du die erforderlichen Berechtigungen hast, um in den angegebenen Ordner zu schreiben.
Fehler: "Makro kann nicht ausgeführt werden"
Lösung: Überprüfe, ob die Makros in Excel aktiviert sind. Gehe zu Datei
> Optionen
> Sicherheitscenter
> Einstellungen für das Sicherheitscenter
und aktiviere die Makros.
Es gibt verschiedene Ansätze, um eine .bat Datei
in Excel zu erstellen:
Batch Datei schreiben:
.bat Datei
manuell in einem Texteditor erstellen und dann die Befehle aus Excel kopieren.PowerShell verwenden:
.bat Dateien
aus Excel zu generieren, was für komplexere Aufgaben nützlich sein kann.Ein einfaches Beispiel für eine .bat Datei
:
Angenommen, du möchtest eine .bat Datei
erstellen, die einen Ordner öffnet. Die Datei könnte folgende Zeile enthalten:
start C:\Users\DeinBenutzername\Documents
VBA-Beispiel für das Erstellen einer .bat Datei
mit Variablen:
Sub CreateDynamicBat()
Dim filePath As String
filePath = "K:\Pfad\zu\deiner\datei.bat"
Open filePath For Output As #1
Print #1, "echo Hello, World!"
Close #1
End Sub
.bat Datei
nach der Erstellung, um sicherzustellen, dass sie wie gewünscht funktioniert.1. Wie kann ich den Dateipfad ändern?
Du kannst den Dateipfad in der Zeile Open "K:\...
anpassen, um die .bat Datei
an einem anderen Ort zu speichern.
2. Kann ich die .bat Datei
mit Excel-Formeln dynamisch erstellen?
Ja, du kannst Excel-Formeln nutzen, um Werte in die .bat Datei
einzufügen, indem du sie in die Zellen schreibst und dann in deinem VBA-Code darauf zugreifst.
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