Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
988to992
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
988to992
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Verzeichnis anlegen u. speichern

Verzeichnis anlegen u. speichern
03.07.2008 10:50:00
Kurt
Guten Morgen,
ich möchte ein Verzeichnis bzw. 2 anlegen und den Namen speichern, wenn die Verzeichnisse
nicht vorhanden sin sollen diese angelegt werden.
In meiner Tabelle1 steht folgendes:
A17= Laufwerk (z.b. C)
A18= 1. Verzeichnis: (z.b. "Lager"
A19= 2. Verzeichnis Unterverzeichnis: (z.b. "Prüfung")
A32= Dateiname ( z.b. "Bestand vom 01.07.08"
Es könnte sein das ich noch ein weiteres Unterverzeichnis benötige:
A20= 3. Unterverzeichnis: "Teile"
gruß kurt P

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verzeichnis anlegen u. speichern
03.07.2008 11:46:00
Erich
Hallo Kurt,
probier mal

Option Explicit
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" _
(ByVal PFAD As String) As Long
Sub test()
Dim strVz As String
strVz = Cells(17, 1) & ":\" & Join(Application.Transpose(Range("A18:A20")), "\")
If Right(strVz, 1)  "\" Then strVz = strVz & "\"
'   MsgBox strVz
'   MsgBox MakeSureDirectoryPathExists(strVz)
If MakeSureDirectoryPathExists(strVz) Then
ActiveWorkbook.SaveAs strVz & Cells(32, 1) & ".xls"
Else
MsgBox "Dieses Verzeichnis konnte nicht angelegt werden:" & vbLf & strVz
End If
End Sub

MakeSureDirectoryPathExists(strVz) ist 1, wenn nach dem Aufruf das Verzeichnis existiert,
sonst 0 (für False).
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Verzeichnis anlegen u. speichern
03.07.2008 12:03:06
Kurt
Hallo Erich,
bleibt hier stehen:
ActiveWorkbook.SaveAs strVz & Cells(32, 1) & ".xls"
Laufzeitfehler 1004,
die Datei hat jetzt noch einen anderen Namen, liegt das daran ?
Geschützt ist sie auch nicht.
gr kurt p

AW: Verzeichnis anlegen u. speichern
03.07.2008 12:06:41
Erich
Hi Kurt,
stehen in dem Dateinamen vielleicht unzulässige Sonderzeichen? (Was steht in A32?)
Kannst du die Datei per Hand unter diesem Namen speichern?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Habe Fehler gefunden !
03.07.2008 12:09:00
Kurt
Hallo Erich,
ich hatte hinter den Verzeichnisnamen noch das Zeichen "\",
habe gelöscht hat funktioniert.
Was muß ich ändern, wenn ich noch ein Unter-Verzeichnis benötigte oder
wenn ich nur 1 Verzeichnis brauche.
Ich würde gern die Info einbauen Verzeichnisse sind vorhanden oder das Verz.... muß
angelegt werden!
Geht das ?
mfg Kurt p

Anzeige
AW: Geändertes Problem
03.07.2008 12:24:05
Erich
Hi Kurt,
nach deinen neuen Wünschen würde man das Ganze anders aufbauen.
Was meinst du mit "noch ein Unter-Verzeichnis"?
Das jetzige Makro verträgt Verzeichnisnamen in A18:A19 oder A18:A20, also zwei oder drei Ordner.
Könnten es auch vier sein, also bis A21?
Wie auch immer, wenn es auch nur 1 Ordner sein kann, würde man das wohl doch in einer Schleife abarbeiten,
das ginge dann auch mit MkDir().
Auch dein zweiter Wunsch geht in Richtung "Verzicht auf MakeSureDirectoryPathExists",
denn diese Funktion liefert nicht, ob ein Verzeichnis (oder mehrere) neu angelegt wurde.
Ich habe jetzt keine Zeit, aber du kannst ja schon mal im Archiv nach MkDir suchen,
da findest du sicher etliche Makros.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
Schade
03.07.2008 12:27:00
Kurt
Hallo Erich,
kenne mich noch nicht so genau aus, will mal sehen ob ich es schaffe.
gr kurt p

Schade
03.07.2008 12:27:00
Kurt
Hallo Erich,
kenne mich noch nicht so genau aus, will mal sehen ob ich es schaffe.
gr kurt p

Danke ! schönen Abend noch -)
03.07.2008 20:37:36
Kurt
Hallo Erich,
hab mir das überlegt, es klappt ja, ich lasse es so,
gruß Kurt P

AW: neue Version
04.07.2008 10:22:00
Erich
Hi Kurt und guten Morgen,
hier habe ich doch noch eine neue Version für dich:

Option Explicit
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" _
(ByVal PFAD As String) As Long
Sub test2()
Dim strVz As String, zz As Long, strAV As String, strNV As String
zz = 17
strVz = Cells(zz, 1) & ":\"
If Dir(strVz, vbDirectory) = "" Then
MsgBox "Laufwerk falsch:" & vbLf & strVz, vbCritical
Exit Sub
End If
strAV = strVz
While Not IsEmpty(Cells(zz + 1, 1)) And zz  "" Then
strAV = "Schon vorhanden war Verzeichnis:" & vbLf & strVz
Else
If MakeSureDirectoryPathExists(strVz)  1 Then
MsgBox "Nicht angelegt werden konnte Verzeichnis:" & vbLf & strVz, vbCritical
Exit Sub
ElseIf strNV = "" Then
strNV = _
"Neu angelegt wurde (evtl. mit Unterverzeichnissen)" & vbLf & strVz
End If
End If
Wend
MsgBox strAV & strNV, vbInformation
ActiveWorkbook.SaveAs strVz & Cells(32, 1) & ".xls"
End Sub

Klappt es so, wie du es möchtest?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
Super nochmals DANKE -)
04.07.2008 15:06:00
Kurt
Hallo Erich,
danke klappt so wie ich es haben möchte !!!!
gr kurt p

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige