Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Erzeugung einer bat Datei mittels VBA

Erzeugung einer bat Datei mittels VBA
04.12.2008 06:51:22
Josef
Hallo!
Wie kann ich bitte mittels VBA eine bat Datei erzeugen und diese in einem gewünschten Ordner abspeiichern?
Danke
Josef
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erzeugung einer bat Datei mittels VBA
04.12.2008 07:25:21
Josef
Hallo!
Ich habe mir jetzt die Daten der bat DAtei in einem Arbeitsblatt vorbereitet. Die Daten stehen in der Spalte A von A1 bis A22.
Wie kann ich jetzt bitte diese Daten in eine Textdatei mittels VBA bringen und diese als .bat abspeichern?
Danke
Josef
Danke - erledigt
04.12.2008 07:45:00
Josef
Hallo nochmals!
Diese lösung hätte ich jetzt gefunden:

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

Anzeige
AW: Danke - erledigt
04.12.2008 09:10:00
Rudi
Hallo,
die kurze, schnelle Version:

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

Anzeige
AW: Danke - erledigt
04.12.2008 13:13:00
Josef
Hallo Rudi!
Danke für Deine Antwort und Deine Hilfe.
Werde es gleich ausprobieren.
Schönen Tag noch
Josef
;
Anzeige
Anzeige

Infobox / Tutorial

.bat Datei mittels VBA in Excel erstellen


Schritt-für-Schritt-Anleitung

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:

  1. Öffne Excel und bereite die Daten in einem Arbeitsblatt vor. Die Daten sollten in der Spalte A von A1 bis A22 stehen.

  2. Öffne den VBA-Editor:

    • Drücke ALT + F11.
  3. Füge ein neues Modul hinzu:

    • Klicke auf Einfügen > Modul.
  4. 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
  5. Führe das Makro aus:

    • Drücke F5 oder gehe zu Run > Run Sub/UserForm.
  6. Überprüfe den gewünschten Ordner, um sicherzustellen, dass die .bat Datei erfolgreich erstellt wurde.


Häufige Fehler und Lösungen

  • 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.


Alternative Methoden

Es gibt verschiedene Ansätze, um eine .bat Datei in Excel zu erstellen:

  1. Batch Datei schreiben:

    • Anstatt VBA zu verwenden, kannst du die .bat Datei manuell in einem Texteditor erstellen und dann die Befehle aus Excel kopieren.
  2. PowerShell verwenden:

    • Du kannst PowerShell-Skripte nutzen, um .bat Dateien aus Excel zu generieren, was für komplexere Aufgaben nützlich sein kann.

Praktische Beispiele

  • 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

Tipps für Profis

  • Verwende Kommentare in deinem VBA-Code, um den Code besser verständlich zu machen.
  • Teste deine .bat Datei nach der Erstellung, um sicherzustellen, dass sie wie gewünscht funktioniert.
  • Speichere deine Excel-Datei regelmäßig, während du mit VBA arbeitest, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige