Live-Forum - Die aktuellen Beiträge
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
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige