https://www.herber.de/bbs/user/163690.xlsx
ich erstelle über Excel Maschinendaten für eine CNC.
Klappt soweit auch ganz gut.... allerdings müsste ich den Code jetzt überarbeiten weil ich ein paar zusätzliche Abfragen mit einbauen möchte.
Ablauf:
1. Makro starten
2. Prüfen ob der Ordner leer ist oder nicht leer
2a. Leer - Abfrage ob über alle Positionen (Zeilen) die Dateien erstellt werden ODER nur bestimmte Positionen (Zeilen) (mit einem Merkmal "CNC_CNC_CNC") erzeugt werden
2b. nicht Leer - Abfrage ob überschrieben werden soll
3a. Falls nein --> Exit Sub
3b. Falls ja - Abfrage ob über alle Positionen (Zeilen) die Dateien erstellt werden ODER nur bestimmte Positionen (Zeilen) (mit einem Merkmal "CNC_CNC_CNC") erzeugt werden
Mit Hilfe von chatGPT bekomm ich diesen Code:
Sub CNC_Dateien_Erzeugen()
Dim folderPath As String
folderPath = "Pfad_zum_Ordner" ' Geben Sie den Pfad zu Ihrem Ordner hier ein
If Len(Dir(folderPath, vbDirectory)) = 0 Then
' Ordner ist leer
MsgBox "Der Ordner ist leer."
' Fragen, ob alle Positionen oder nur CNC_CNC_CNC gekennzeichnete Positionen erstellt werden sollen
Dim response As VbMsgBoxResult
response = MsgBox("Sollen alle Positionen erstellt werden?", vbYesNo)
If response = vbYes Then
' Hier Dateien erzeugen für alle Positionen
' Fügen Sie Ihren Code für die Erstellung von Dateien hier ein
Else
' Hier Dateien erzeugen nur für CNC_CNC_CNC gekennzeichnete Positionen
' Fügen Sie Ihren Code hier ein, um nur CNC_CNC_CNC Positionen zu erstellen
End If
Else
' Ordner ist nicht leer
Dim overwriteResponse As VbMsgBoxResult
overwriteResponse = MsgBox("Der Ordner ist nicht leer. Möchten Sie die Dateien überschreiben?", vbYesNo)
If overwriteResponse = vbYes Then
' Hier Code einfügen, um Dateien zu überschreiben
' Fragen, ob alle Positionen oder nur CNC_CNC_CNC gekennzeichnete Positionen erstellt werden sollen
Dim response As VbMsgBoxResult
response = MsgBox("Sollen alle Positionen erstellt werden?", vbYesNo)
If response = vbYes Then
' Hier Dateien erzeugen für alle Positionen
' Fügen Sie Ihren Code für die Erstellung von Dateien hier ein
Else
' Hier Dateien erzeugen nur für CNC_CNC_CNC gekennzeichnete Positionen
' Fügen Sie Ihren Code hier ein, um nur CNC_CNC_CNC Positionen zu erstellen
End If
Else
' Makro beenden
Exit Sub
End If
End If
End Sub
Macht das soweit Sinn? Ich möchte mich jetzt (aus unwissenheit) nicht einfach darauf stürzen und am ende klappt nichts mehr.
Kann man das so umsetzen oder bin ich auf dem falschen weg?
Was mich hierbei stört ist das ich an mehreren stellen den selben code habe, was später wenn ich was ändern/anpassen muss nicht gerade produktiv ist...
Wie kann ich das gleich richtig machen bzw. wie geht man hierbei vor?
Danke und beste Grüße