Unterordner erstellen

Bild

Betrifft: Unterordner erstellen
von: Herbert
Geschrieben am: 03.04.2005 21:01:28
Hallo Forum,
habe als absoluter VBA-Anfänger ein Problem und hoffe, ihr könnt mir helfen.
Mit strPfadZurDatei = ActiveWorkbook.Path schreibe ich den Pfad zur akt. Datei in eine Variable.
Nun möchte ich eine Sicherungskopie mit ActiveWorkbook.SaveCopyAs strPfadZurDatei & "\Unterordner\Siko.xls" erstellen. Der Unterordner soll dabei (falls noch nicht vorhanden) automatisch erstellt werden. Wie geht das?
Nicht ganz so wichtig - was ist im praktischen Gebrauch der Unterschied zwischen Worksheets("ABC") und Sheets("ABC")? Was in der Hilfe steht, habe ich gelesen - verstehe es aber nicht - sorry.
Für jede DAU-taugliche Antwort bin ich dankbar.
Herbert
P.S. Ich habe dieses Posting 3 Mal schreiben müssen, da beim Editierversuch alles weg war. Was habe ich da falsch gemacht.
Jetzt bin ich schlauer - Strg+C, Strg+V

Bild

Betrifft: AW: Unterordner erstellen
von: Tobias at Home
Geschrieben am: 03.04.2005 21:25:50
Servus!
hiermit kannste einen Unterordner erstellen, falls nicht vorhanden:

'Nur ein Ausschnitt des Codes!
MyPfad = strPfadZurDatei
On Error Resume Next
MkDir MyPfad & "\Unterordner"
MyNewPfad = MyPfad & "\Unterordner\"
ActiveWorkbook.SaveCopyAs MyNewPfad & "Siko.xls" 
'Ausschnitt Ende

Gruessle
Toby
Bild

Betrifft: AW: Unterordner erstellen
von: Nepumuk
Geschrieben am: 03.04.2005 21:31:38
Hallo Herbert,
nur drei mal und trotzdem geschliffen formuliert!
Zu 1:


Option Explicit
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _
     ByVal DirPath As StringAs Long
Public Sub test()
    MakeSureDirectoryPathExists ThisWorkbook.Path & "\Unterordner\"
End Sub


Zu 2.
Worksheets sind alle Tabellen. Sheets sind alle Blätter. Das können Tabellen, Diagramme, Excel 4.0-Makrovorlagen, Internationale Makrovorlagen oder Excel 5.0-Dialoge sein.
Gruß
Nepumuk
Bild

Betrifft: AW: Unterordner erstellen
von: Herbert
Geschrieben am: 03.04.2005 22:10:03
Hallo Tobias, hallo Nepumuk,
danke für eure schnelle Hilfe. Muss das jetzt erst einmal umsetzen und testen.
Tobias´s Antwort kann ich als Laie gerade noch verstehen, Nepumuk´s muss ich "verdauen", scheint aber universeller einstzbar zu sein (für verschiedennamige Unterordner).
Was mir noch nichts sagt - "imagehlp.dll" - ist das überall lauffähig?
Zu 2.) Wenn ich es jetzt richtig verstehe, ist es eigentlich egal, ob ich bei direkter Ansprache Worksheets oder Sheets benutze!?
Berichte über meine Erfolge ;-))
Gruß
Herbert
P.S. jetzt nicht mehr editiert.
Bild

Betrifft: AW: Unterordner erstellen
von: Nepumuk
Geschrieben am: 03.04.2005 22:21:25
Hallo Herbert,
imagehlp.dll ist eine Standard-DLL auf jedem Windows-Rechner. Du kannst damit auch Unterordner von Unterordnern erstellen. Versuch mal:
MakeSureDirectoryPathExists "C:\Test\Test\Test\Test\Test\Test\Test\"
Wenn der Pfad existiert, passiert nichts, ansonsten wird er angelegt.
Gruß
Nepumuk
Bild

Betrifft: AW: Unterordner erstellen
von: Herbert
Geschrieben am: 03.04.2005 22:38:21
Hallo Nepumuk,
das habe ich schon getestet - klappt wunderbar und ist genial einfach zu handeln.
1000 Dank
Gruß Herbert
Bild

Betrifft: AW: Unterordner erstellen
von: Herbert
Geschrieben am: 03.04.2005 22:32:46
Hallo Nepumuk, hallo Tobias,
habe zuerst Nepumuk´s Code getestet - klappt auf Anhieb *freu* - wenn auch noch nicht so richtig verstehe, was da passiert.
Teste die Variante von Tobias aber auch noch - will ja lernen.
Danke euch.
Gruß Herbert
Bild

Betrifft: AW: Unterordner erstellen
von: Tobias Marx
Geschrieben am: 04.04.2005 13:17:19
Servus Herbert,
ich muss zugeben, die Variante von Nepumuk is eleganter, meine geht halt den "Standard-VBA-Weg" ohne zusaetzliche dll's; sie ist aber eigentlich genauso universell einsetzbar, wenn man mit weiteren Variablen arbeitet. Meine macht nur eins:

So, wenns jetzt nen Fehler gibt, mach einfach drunter weiter...
Und jetzt probier mal den Ordner zu erstellen - wenn Fehler, geh wie oben gesagt grad weiter...
Und jetzt speichern wir...

Das ist eigentlich das, was mein makro mit dem On Error Resume Next macht - er springt bei nem Fehler einfach weiter und bricht ned ab.

Gruss

Tobias
Bild

Betrifft: AW: Unterordner erstellen
von: Herbert
Geschrieben am: 05.04.2005 14:56:54
Hallo Tobias,
ich habe auch deine Variante probiert - klappt ebenso wunderbar. Danke.
Bei Nupumuk´s Version braucht man halt nur eine Codezeile und keine zusätzlichen Variablen und kann so von verschiedenen Stellen auf die Function zugreifen.
Gruß Herbert
Bild

Betrifft: Danke fuer die Rueckmeldung (owT)
von: Tobias Marx
Geschrieben am: 05.04.2005 14:58:29
Viel Erfolg weiterhin mit Excel!

Gruss

Tobias
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Unterordner erstellen"