Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1172to1176
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
Inhaltsverzeichnis

Wie kann man Verzeichnisstruktur prüfen

Wie kann man Verzeichnisstruktur prüfen
Herby
Hallo Spezialisten,
ich habe eine kleine Excelanwendung geschrieben, die auch eine Datensicherung
enthält. Für diese Datensicherung kann der Anwender ein Verzeichnis auswählen:
Set BrowseDir = CreateObject("Shell.Application").BrowseForFolder(0, "Ordner für die Datensicherung auswählen bzw. anlegen", &H0, mySicherungsPfad)
Dies funktioniert soweit problemlos. Der Anwender kann sogar eigene Untervzerzeichnisse damit
erstellen.
Mein Problem ist, dass der Anwender aber kein Sicherungsverzeichnis im Pfad der Excelanwendung
anlegen darf. Wie kann ich das verhindern ?
Beispiel: Pfad in dem die Excelmappe (Anwendung) liegt: D:\Daten\Kunden\1234-Huber\.....\....
In diesem Verzeichnis darf kein Unterverzeichnis mit der Datensicherung angelegt werden können.
z.B. D:\Daten\Kunden\1234-Huber\Sicherung darf nicht erlaubt sein.
z.B. D:\Daten\Kunden\Sicherung darf erlaubt sein (dieses Verzeichnis liegt oberhalb der Anwendung).
Muß ich das zur Datensicherung ausgewählte Verzeichnis mit allen Unterverzeichnissen meiner Anwendung
vergleichen, oder gibt es eine einfachere Möglichkeit ?
Danke fürs Helfen !
Viele Grüße
Herby

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Wie kann man Verzeichnisstruktur prüfen
24.08.2010 15:52:46
ransi
Hallo
Schau mal ob dir dieser Ansatz weiterhilft:
Option Explicit


Public Sub t()
Dim BrowseDir
Dim FSO As Object
Dim Verz As Object
Dim mySicherungsPfad
mySicherungsPfad = "C:\Users\ich\Desktop\Neuer Ordne\Neuer Ordner\Neuer Ordner"
Set FSO = CreateObject("Scripting.FilesystemObject")
Set BrowseDir = CreateObject("Shell.Application").BrowseForFolder(0, "Ordner für die Datensicherung auswählen bzw. anlegen", &H0, mySicherungsPfad)
If BrowseDir Is Nothing Then Exit Sub
Set Verz = FSO.getfolder(BrowseDir.self.Path)
Do
    Set Verz = FSO.getfolder(Verz.parentfolder)
    If Verz = ThisWorkbook.Path Then
        MsgBox "Verboten"
        Exit Sub
    End If
Loop Until Verz.Path = Verz.drive.rootfolder.Path
MsgBox "Erlaubt"
End Sub



ransi
Anzeige
AW: Wie kann man Verzeichnisstruktur prüfen
25.08.2010 23:22:57
Herby
Hallo Ransi,
schöne Routine - da muß mal einer erst draufkommen. Zwischenzeitlich habe ich einige
Tests machen können. Wie erwartet funktionierts ohne Probleme.
Danke für den Code und die Idee über Parentfolder die Verzeichnisse nach oben bis zum Root
durchzulaufen bzw. zum Workbook.path
viele Grüße
Herby
oder alterativ....
24.08.2010 18:01:50
Jürgen
Hallo Herby,
oder prüfe doch einfach mit instr, ob der Pfad der Anwendung im gewählten Pfad enthalten ist, z.B.
If instr(UCase(Sicherungspfad), Ucase(ThisWorkbook.path)) = 0 then
'weiter
else
'Ungültiger Pfad
end if
Gruß, Jürgen
AW: oder alterativ....
25.08.2010 23:30:33
Herby
Hallo Jürgen,
auch dir danke für deine Lösung. Sauber und schnell überschaubar. So
soll eine Lösung sein.
Aber ich habe mich erst mal in die Lösung von Ransi eingearbeitet - so
schön kompliziert - ich will ja noch lernen.
Sicherheitshalber habe ich mir auch deine Lösung aufgehoben. Danke !
Viele Grüße
Herby
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige