Hallo.
Ich habe ein Excel Dokument.
Dieses ist eine "Vorlage". Es wird also geöffnet, ein paar Werte werden eingetragen und dann wird es in einem Ordner gespeichert.
Nun soll nach meiner Vorstellung ein Makro
- prüfen wo die Datei liegt (Pfad abrufen), da die Datei auch schonmal verschoben wird oder auch direkt vom USB Stick gestartet wird und sich somit der Laufwerksbuchstabe ändert
- am aktuellen Ort der Datei ein Ordner "Fol" anlegen und darin die Datei speichern.
Da ich nun noch nie VBA "gecoded" habe, habe ich mir auf die Scnelle ein paar Grundlagen angeeignet und den Code umgesetzt. Nun ist es so, dass mit einmaligem Ausführen des Makros genau das passiert, was ich möchte. Führe ich das Makro aber ein zweites Mal aus, wird in "Fol" ein weiterer Ordner "Fol" angelegt und dort landen die Dateien nochmal. Der Code "vergräbt" die Datei also immer tiefer.
Spontan würde ich raten, dass 'ActiveWorkbook.Path' nach dem Speichern nicht mehr der Ort ist, an dem die Vorlage abgelegt ist, sondern der, an dem die neue Datei erstellt wird. Aber ich finde da einfach keine elegande Lösung für um das zu umgehen / verhindern ...
Wäre für Verbesserungsvorschläge dankbar.
Sub Save()
Dim Name As String
Dim Verzeichnis As String
Dim Pfad As String
Verzeichnis = ActiveWorkbook.Path
Pfad = Verzeichnis & "\Fol\"
Name = "Dat.xls"
If Dir(Pfad, vbDirectory) <> "" Then
MsgBox "Gespeichert "
Else
MsgBox "Verzeichnis " & Pfad & " nicht vorhanden."
MkDir Pfad
ChDir Pfad
End If
ActiveWorkbook.Save
ActiveWorkbook.SaveAs Pfad & Name
End Sub
|