Anzeige
Archiv - Navigation
404to408
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
404to408
404to408
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Homeverzeichnis auslesen

Homeverzeichnis auslesen
Christian
Hallo beisammen,
ich möchte beim Aufruf einer Arbeitsmappe prüfen,ob ein bestimmtes Verzeichnis vorhanden ist.
Bei der vorhandenen Prozedur wird zwar das Verzeichnis angelegt, aber sobald
das Verzeichnis schon vorhanden ist, läuft Excel auf einen Fehler auf.
Es gibt viele Beiträge dazu, aber ich komme nicht dahinter.
Für Tipps im voraus besten Dank.
Christian
Hier das Coding

Sub CheckOrdner()
'prüfen ob der Ordner im Homeverzeichniss \Eigene Dateien\ Finanzen eines Users vorhanden ist ,wenn nicht
'erstellen
Dim Ord As String
Dim UN As String
Dim OrdnerNeu As String
OrdnerNeu = ("Finanzen")
UN = Environ("USERNAME")
Ord = ("c:\Dokumente und Einstellungen\ ") & UN & ("\Eigene Dateien ") & ("\Finanzen")
If Dir(Ord, vbDirectory) <> "" Then
Exit Sub
Else
MKDIR OrdnerNeu  ' Laufzeitfehler 75
'MsgBox "Ordner " & OrdnerNeu & " angelegt"
End If
End Sub

AW: Homeverzeichnis auslesen
y
hi Christian,
so in etwa ?

Sub Vorhanden_Pfad()
If Dir("c:\temp\") <> "" Then
MsgBox "vorhanden"
Else
MsgBox "nicht vorhanden"
End If
End Sub

cu Micha
AW: Homeverzeichnis auslesen
Christian
Micha Danke
aber das mache ich ja. Die Schwierigkeit fange ich mir wahrscheinlich damit ein, daß
ich das Verzeichnis erst zusammenstelle.
Ord = ("c:\Dokumente und Einstellungen\ ") & UN & ("\Eigene Dateien ") & ("\Finanzen")
Ord = ("c:\Dokumente und Einstellungen\ ") & Administrator & ("\Eigene Dateien ") & ("\Finanzen")
oder
Ord = ("c:\Dokumente und Einstellungen\ ") & Herber & ("\Eigene Dateien ") & ("\Finanzen")
UN ist der Username und der ist immer verschieden.
Gruß
Christian
Anzeige
AW: Homeverzeichnis auslesen
y
hi Christian,
so funktionierts

If Dir("c:\Dokumente und Einstellungen\ ") & UN & ("\Eigene Dateien ") & ("\Finanzen" & "\") "" Then
cu Micha
AW: Homeverzeichnis auslesen
Christian
Sorry Micha
jetzt legt er den Ordner nicht mehr an. Auch wenn ich zwischenzeitlich den Ordner gelöscht habe , läuft er jetzt ins Exit Sub
AW: Homeverzeichnis auslesen
y
hi Christian,
dann eben so:

Sub CheckOrdner()
'prüfen ob der Ordner im Homeverzeichniss \Eigene Dateien\ Finanzen eines Users vorhanden ist ,wenn nicht
'erstellen
Dim Ord As String
Dim UN As String
Dim OrdnerNeu As String
Dim Fso
Set Fso = CreateObject("Scripting.FileSystemObject")
UN = Environ("USERNAME")
Ord = "c:\Dokumente und Einstellungen\" & UN & "\Eigene Dateien" & "\Finanzen" '& "\"
If Fso.FolderExists(Ord) = True Then
Exit Sub
Else
MkDir Ord
MsgBox "Ordner " & Ord & " angelegt"
End If
End Sub

cu Micha
Anzeige
AW: Homeverzeichnis auslesen
y
...und so gehts auch ;-)
wenn du einen anderen ordner abfragst als du anlegen willst kann das nicht klappen mit dem nachbarn *grins*

Sub CheckOrdner()
'prüfen ob der Ordner im Homeverzeichniss \Eigene Dateien\ Finanzen eines Users vorhanden ist ,wenn nicht
'erstellen
Dim Ord As String
Dim UN As String
Dim OrdnerNeu As String
'OrdnerNeu = ("Finanzen")
UN = Environ("USERNAME")
Ord = "c:\Dokumente und Einstellungen\" & UN & "\Eigene Dateien" & "\Finanzen"
If Dir(Ord, vbDirectory) <> "" Then
Exit Sub
Else
MkDir Ord  ' Laufzeitfehler 75
MsgBox "Ordner " & Ord & " angelegt"
End If
End Sub

cu Micha
Anzeige
Seufz aber gut ich habe die Lösung *grins*
Christian
Gruß
Christian
Funktioniert auch
Christian
plötzlich funktioniert alles.
Danke Micha
Gruß
Christian
AW: Homeverzeichnis auslesen
ChrisL
Hi Christian
Könnte es sein, dass die Berechtigung fehlt um an dieser Stelle ein Verzeichnis zu erstellen. Wie verhält sich der MKDIR Befehl ohne den Rest?
Gruss
Chris
AW: Homeverzeichnis auslesen
Christian
Hallo ChrisL
an der Berechtigung liegt es sicher nicht. Bin als Administrator an der Maschine.
Vielleicht setze ich den String für den Ordner falsch zusammen ?
Gruß
Christian
AW: Homeverzeichnis auslesen
ChrisL
Hi Christian
Hab jetzt grad eine andere Vermutung, aber könnte auch falsch liegen. Das Unterverzeichnis kann nur erstellt werden, wenn das Verzeichnis existiert?
Gruss
Chris
Anzeige
Das Verzeichnis existiert sicher
Christian
Hallo Chris
das Verzeichnis c:\Dokumenten und Einstellungen\Administrator\Eigene Dateien\
ist Standardmässig da.
Eben wegen den Berechtigungen soll nur bei den Eigenen Dateien
der Ordner [Finanzen] falls nicht vorhanden angelegt werden.
Der Ordner wird ja angelegt, sogar richtig, jedoch sobald der Ordner Finanzen schon vorhanden ist, läuft er in einen Fehler.
Mit On error resume next könnte ich das schon umgehen!! aber ich hätte gerne gewußt warum er hier aufläuft.
Gruß
Christian
AW: Das Verzeichnis existiert sicher
ChrisL
Salut Christian
Also, habe alle bestehenden Ideen verworfen. Dachte es klemmt bei MKDIR aber das tut es nicht, sondern mit der richtigen Erkennung ob ein Verzeichnis exisitiert oder nicht.
Dabei fällt mir nur ein das Verzeichnis vorher mit CHDIR auszuwählen. Könnte eine Möglichkeit sein.
Ansonsten ist sicher nicht besonders schön andererseits könntest du deinen Code auf 2 Zeilen kürzen wenn du mit On Error arbeitest, bräuchtest nämlich nur das MKDIR und On Error.
Gruss
Chris
Anzeige
On error wird die Lösung
Christian
Hallo Chris
Wenn du es auch nicht weisst !! nehme ich die Lösung mit On error...
Danke an alle mit Lösungsvorschlägen
Gruß
Christian
Weg mit den Leerzeichen ...
Volker
Hallo Flo,
entferne doch mal die Leerzeichen (und die Klammern brauchst Du auch nicht):
statt
Ord = ("c:\Dokumente und Einstellungen\ ") & UN & ("\Eigene Dateien ") & ("\Finanzen")
so
Ord = "c:\Dokumente und Einstellungen\" & UN & "\Eigene Dateien" & "\Finanzen"
Gruss
Volker Croll
www.crolltools.decolor>
Anzeige
Sorry Christian, wollte Dich nicht umtaufen (oT)
Volker
AW: Sorry Christian, wollte Dich nicht umtaufen (oT)
Christian
Kein Problem !!!
AW: Weg mit den Leerzeichen ...
Christian
Hallo Volker
Danke für die Antwort. Funktioniert aber trotzdem nicht.
Gruß
Christian
Es funktioniert.Leerzeichen !!!!
Christian
Hallo Volker
Entschuldige hatte eben einen Fehler eingebaut.
Es lag wirklich an den Klammern und Leerzeichen.
Herzlichen Dank
Gruß
Christian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige