Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
764to768
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
764to768
764to768
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Speichern unter - Ordner dabei anlegen

Speichern unter - Ordner dabei anlegen
15.05.2006 09:03:57
Helge
Moin.
Ich möchte gerne ein Makro in eine Arbeitsmappe einbauen, bei dem der User per Klick auf einen Button die Datei speichern kann.
Alle User verfügen dabei über ein bestimmtes Verzeichnis. Dieses Pfad möchte ich auch vorgeben. Allerdings möchte ich das noch ein weiterer Unterordner in diesem Pfad angelegt wird:
z.B: C:\Dateien --ist bei allen vorhanden
C:\Dateien\Auswertungen -- Ordner Auswertungen soll beim speichern angelegt werden
und zudem soll ein Dateiname vorgegeben werden.
Kann man das machen und wenn ja wie kann ich diesen Ordner beim speichern erstellen lassen?
Danke für eure Hilfe!

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern unter - Ordner dabei anlegen
15.05.2006 09:09:53
Andi
Hi,
das geht so:

Sub t()
MkDir "C:\Dateien\Auswertung"
ThisWorkbook.SaveAs "C:\Dateien\Auswertung\Meine_Mappe.xls"
End Sub

Schönen Gruß,
Andi
AW: Speichern unter - Ordner dabei anlegen
15.05.2006 09:16:56
Helge
Danke für die schnelle Antwort. Noch eine Frage dazu... beim erstmaligen Ausführen wird dann ja dieser neue Ordner angelegt. Wenn der User danach nochmals Auswertungen erstellt und auf den Button geht, gibt es dann ein Problem, weil der Ordner dann ja bereits vorhanden ist, oder spielt das keine Rolle?
hast Recht...
15.05.2006 09:38:47
Andi
Hi nochmal,
so müsste es jetz aber passen:

Sub t()
If Dir("C:\Dateien\Auswertung", vbDirectory) = "" Then
MkDir "C:\Dateien\Auswertung"
End If
ThisWorkbook.SaveAs "C:\Dateien\Auswertung\Meine_Mappe1.xls"
End Sub

Schönen Gruß,
Andi
Anzeige
AW: hast Recht...
15.05.2006 09:41:12
Matthias
Hallo,
es gibt noch dies:

Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal Pfad As String) As Long
Sub Pfad_anlegen()
MakeSureDirectoryPathExists _
"C:\test\1\2\3\4\5\"
End Sub

hier werden bei Bedarf (wenn noch nicht vorhanden) auch mehrere Unterverzeichnisse erstellt. Wichtig ist der Backslash nach den letzen Ordnernamen.
Gruß Matthias
und noch 'ne Frage
15.05.2006 09:58:16
Helge
Genial. Das geht ja alles sehr gut. Beim Testen bemerkt man nun ja, dass der erste Gedankengang nicht vollständig war... also eine weitere Frage:
Der erste Schritt "Ordner anlegen" soll genauso stattfinden. Den Speicherort möchte ich auch weiterhin vorgeben, allerdings nur als Vorschlag, da ggf. die User auf einem anderen Laufwerk und einem anderen Namen abspeichern möchte. Diese Option möchte ich Ihnen lassen. Quasi sollte ab dem Schritt des speichern der Datei das Menü von "speichern unter" zur Verfügung stehen.
Zudem müsste auch sichergestellt sein, dass sofern die Auswertung ein zweites , drittes etc. Mal gemacht wird, die Datei nicht automatisch überschrieben wird. Hoffe, dass war noch verständlich
Anzeige
AW: und noch 'ne Frage
15.05.2006 10:13:42
Matthias
Hallo Helge,
mein Vorschlag:

Option Explicit
Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal Pfad As String) As Long
Sub test()
Const Verz = "C:\Dateien\Auswertung\"
Dim fn
MakeSureDirectoryPathExists Verz
fn = Application.GetSaveAsFilename(Verz & "Mappe1.xls", "Excel-Arbeitsmappe (*.xls), *.xls")
If fn = False Then Exit Sub 'Abbruch!
ThisWorkbook.SaveAs Filename:=fn
End Sub

Gruß Matthias
AW: und noch 'ne Frage
15.05.2006 10:39:00
Helge
Kriege einen Fehler beim Kompilieren. Sub oder Fubction nicht definiert - MakeSureDirectoryPathExists Verz
Was mache ich denn bloß falsch?
Anzeige
AW: und noch 'ne Frage
15.05.2006 10:43:46
Matthias
Hallo Helge,
diese Zeile:

Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal Pfad As String) As Long

muss vor allen Prozeduren im Modul stehen.
Gruß Matthias
AW: und noch 'ne Frage
15.05.2006 10:54:35
Helge
Arg... hatte nur die Hälfte reinkopiert... DANKE!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige