PDA

Vollständige Version anzeigen : Neuer Pfad anlegen


nioe_try
22.03.2004, 16:00
Hallo zusammen!

Ich habe In Ac97 einen einfachen Task-Manager realisiert.

Mit der Task-Nummer und dem Titel wird ein Pfad-Name generiert, in dem Dokumente zu diesem Task abgelegt werden können. Leider zeige ich den Pfadnamen nun aber nur an (kann dann aus dem Feld kopiert werden).

Schöner wäre natürlich, das Directory würde direkt angelegt.
Gibt es aus Access diese Möglichkeit?

Grüsse

Arne Dieckmann
22.03.2004, 16:03
Schau Dir einmal die MkDir-Anweisung in der VBA-Onlinehilfe an.

reinir
22.03.2004, 16:05
'Beschreibung nach einem Tipp von: http://www.visualbasic-archiv.de
'Der Befehl zum Erstellen eines Verzeichnisses lautet, wie allgemein bekannt: MkDir (MakeDir).
'Mit diesem Befehl lässt sich aber nur genau ein Verzeichnis erstellen, d.h. soll z.B. ein Verzeichnis
'innerhalb eines anderen Verzeichnisses erstellt werden, wobei das übergeordnete Verzeichnis noch nicht existiert,
' so erhalten Sie beim Versuch das Verzeichnis per MkDir zu erstellen einen Laufzeitfehler.
'Die nachfolgende Funktion schafft Abhilfe. Übergeben Sie der Funktion das zu erstellende Verzeichnis bzw.
'den zu erstellenden Verzeichnispfad und geben optional an, ob ein Hinweis erscheinen soll, sollte ein
'Fehler auftreten (z.B. wenn Sie nicht die benötigten Rechte zum Erstellen des Verzeichnisses besitzen).
'Die Vorgehensweise der Funktion ist wie folgt:
'Der übergebene Verzeichnispfad wird innerhalb einer While...Wend-Schleife in seine Einzelpfade zerlegt.
'Es wird dann versucht, das Verzeichnis zu erstellen, wobei ganz gezielt der>Fehler 75 "abgefangen" wird,
'der wiederum besagt, dass das Verzeichnis bereits existiert.
'Auf diese Weise werden dann alle Einzelverzeichnisse der Reihe nach erstellt.
'War der Funktionsaufruf erfolgreich, so wird True zurückgegeben, andernfalls False

' Verschaltete Verzeichnisse erstellen:
Public Function MakePath(ByVal sPath As String, Optional ByVal ShowMsg As Variant) As Boolean

Dim antwort As Integer
Dim Dummy As String

If IsMissing(ShowMsg) Then ShowMsg = False

antwort = 0: Err = 0
Dummy = ""
On Local Error Resume Next
While Len(sPath) > 0 And antwort = 0
If Left$(sPath, 2) = "\\" Then
Dummy = Dummy + "\\"
sPath = Mid$(sPath, 3)
ElseIf Left$(sPath, 1) = "\" Then
Dummy = Dummy + "\"
sPath = Mid$(sPath, 2)
ElseIf Mid$(sPath, 2, 2) = ":\" Then
Dummy = Dummy + Left$(sPath, 3)
sPath = Mid$(sPath, 4)
End If
While Left$(sPath, 1) <> "\" And Len(sPath) > 0
Dummy = Dummy + Left$(sPath, 1)
sPath = Mid$(sPath, 2)
Wend
Err = 0
MkDir Dummy
If Err <> 75 And Err <> 0 Then
If ShowMsg Then
antwort = MsgBox("Fehler beim Erstellen " & "des Verzeichnisses!" + vbCrLf + 48, "Fehler")
Else
antwort = 1
End If
End If
Wend
On Local Error GoTo 0

MakePath = (antwort = 0)
End Function<hr>
'Beispielsaufruf:
'MakePath "c:\visual basic\myProjekte\test"



Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

nioe_try
22.03.2004, 16:09
Besten Dank! Alles klar ...
Der Code räumt auch noch die letzten Fragen aus!!!