Mit folgendem Code verbinde und trenne ich ein Netzlaufwerk und führe dazwischen Kopiervorgänge aus:
- Code: Alles auswählen
Public Function NetzlaufwerkVerbinden()
'Mappt ein Netzlaufwerk
Dim objNetzwerk As Object
Set objNetzwerk = CreateObject("WScript.Network")
objNetzwerk.mapnetworkdrive "A:", "\\...."
Set objNetzwerk = Nothing
End Function
'###############################################
Public Function NetzlaufwerkTrennen()
'Trennt das Netzlaufwerk wieder
Dim objNetzwerk As Object
Set objNetzwerk = CreateObject("WScript.Network")
objNetzwerk.removenetworkdrive "A:" '<--hier markiert er beim Debuggen
Set objNetzwerk = Nothing
End Function
'###############################################
Function KopierenVonAnachB(A As String, B As String) As Boolean
Dim FS As Object
Set FS = CreateObject("scripting.filesystemobject")
FS.CopyFile A, B
'Wurde datei jetzt auch kopiert?
If Dir(B) = "" Then
KopierenVonAnachB = False
Else
KopierenVonAnachB = True
End If
Jetzt habe ich hier noch folgende Probleme:
1) Falls es doch noch jemand gibt, der A: schon vergeben hat, gibt es eine Fehlermeldung ("Der lokale Gerätename wird bereits verwendet") und er springt mir raus.
Für den Fall würde ich gerne zuvor abfragen, ob der Buchstabe vergeben ist und ansonsten im Alphabet einen Buchstaben weiter gehen...und so weiter. Den gewählten Laufwerksbuchstaben müsste ich dann irgendwo zwischenparken, damit ich die Dateien kopieren kann und später auch das richtige Laufwerk wieder trennen kann.
2) Das wohl wichtigere Problem: Nach den Kopiervorgängen soll das Netzwerk getrennt werden, allerdings erhalte ich stets die Fehlermeldung ("Es warten noch offene Dateien oder Anforderungen auf dieser Netzwerkverbindung.")
Meine Idee war, dass eventuell der Kopiervorgang noch nicht ganz abgeschlossen ist. Habe zum Test mal eine msgbox nach dem Kopieren und vor dem Trennen eingebaut und absichtlich mal 15 Sekunden gewartet. Das bringt aber nichts und es kommt munter die gleiche Meldung. Was kann ich hier tun? Dateien auf dem Verzeichnis werden nicht geöffnet, einzige Aktion ist das Kopieren. Wenn ich das Kopieren auskommentiere funktioniert es auch mit dem Trennen wieder ohne Probleme.
Ich würde mich über Euren Rat freuen,
Kalle