Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Netzlaufwerk(e) verbinden/trennen

Forumthread: Netzlaufwerk(e) verbinden/trennen

Netzlaufwerk(e) verbinden/trennen
31.08.2014 10:16:54
Uwe Siebers

Guten Morgen zusammen!
Vermutlich "stehe" ich im Augenblick nur auf der Leitung. Mit dem nachfolgenden Code gelingt es _ mir bequem ein Netzlaufwerk (W:) zu verbinden bzw. zu trennen:


Sub Netzlaufwerk_verbinden()
Dim objNetzwerk As Object
Set objNetzwerk = CreateObject("WScript.Network")
objNetzwerk.MapNetworkDrive "W:", "\\FBS31101\Server"
Set objNetzwerk = Nothing
MsgBox "Die Verbindung zum Server wurde erfolgreich hergestellt!", vbInformation, "Job 2015 -    _
_
_
Administrator"
End Sub

Sub Netzlaufwerk_trennen()
Dim objNetzwerk As Object
Set objNetzwerk = CreateObject("WScript.Network")
objNetzwerk.RemoveNetworkDrive "W:"
Set objNetzwerk = Nothing
MsgBox "Die Verbindung zum Server wurde wieder getrennt!", vbInformation, "Job 2015 - _
Administrator"
End Sub

Was aber, wenn dieses Laufwerk im Netz schlicht nicht zur Verfügung steht? Wenn dem so ist, möchte ich eine MsgBox einfügen. Nur an welcher Stelle? Irgendwie "fehlt das was im Code. Wie gesagt, ich denke, ich steh "auf der Leitung".
Ähnlich soll eine MsgBox ausgegeben werden, so beim Versuch, die Verbindung zu trennen, diese gar nicht erst besteht.
Vielen Dank schon mal für Eure Hilfe.
Uwe

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Netzlaufwerk(e) verbinden/trennen
31.08.2014 10:45:55
Hajo_Zi
Hallo Uwe,
reich da nicht Dir?
If Dir(strVerzeichnis, vbDirectory) <> "" Then

AW: Netzlaufwerk(e) verbinden/trennen
31.08.2014 10:52:21
Luschi
Hallo Uwe,
versuche es mal so:

Sub Netzlaufwerk_verbinden()
Dim objFSO As Object, objNetzwerk As Object
On Error Resume Next
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objNetzwerk = CreateObject("WScript.Network")
objNetzwerk.MapNetworkDrive "W:", "\\FBS31101\Server"
On Error GoTo 0
DoEvents
If objFSO.DriveExists("W:") Then
MsgBox "Lw W: existiert!"
Else
MsgBox "Sorry..., Lw W: konnte nicht erstellt werden!"
End If
Set objNetzwerk = Nothing
Set objFSO = Nothing
End Sub
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Netzlaufwerk(e) verbinden/trennen
31.08.2014 12:36:32
Uwe Siebers
Hallo "Luschi"
das passt genau!!! Vielen Dank für Deine Antwort.

;
Anzeige

Infobox / Tutorial

Netzlaufwerk(e) verbinden und trennen in Excel mit VBA


Schritt-für-Schritt-Anleitung

Um ein Netzlaufwerk zu verbinden oder zu trennen, kannst du VBA (Visual Basic for Applications) in Excel verwenden. Hier ist eine einfache Anleitung:

  1. Öffne Excel und gehe in den VBA-Editor, indem du ALT + F11 drückst.

  2. Füge ein neues Modul hinzu: Rechtsklicke im Projektfenster auf "VBAProject (DeineDatei.xlsx)" und wähle "Einfügen" > "Modul".

  3. Kopiere und füge den folgenden Code ein, um ein Netzlaufwerk zu verbinden:

    Sub Netzlaufwerk_verbinden()
       Dim objNetzwerk As Object
       Set objNetzwerk = CreateObject("WScript.Network")
       On Error Resume Next
       objNetzwerk.MapNetworkDrive "W:", "\\FBS31101\Server" ' Pfad anpassen
       On Error GoTo 0
       MsgBox "Die Verbindung zum Server wurde erfolgreich hergestellt!", vbInformation, "Netzlaufwerk verbunden"
    End Sub
  4. Um das Netzlaufwerk zu trennen, füge den folgenden Code ein:

    Sub Netzlaufwerk_trennen()
       Dim objNetzwerk As Object
       Set objNetzwerk = CreateObject("WScript.Network")
       On Error Resume Next
       objNetzwerk.RemoveNetworkDrive "W:"
       On Error GoTo 0
       MsgBox "Die Verbindung zum Server wurde wieder getrennt!", vbInformation, "Netzlaufwerk getrennt"
    End Sub
  5. Teste die Skripte, indem du sie im VBA-Editor ausführst.


Häufige Fehler und Lösungen

  • Fehler beim Verbinden: Wenn das Netzlaufwerk nicht verfügbar ist, kann es zu einem Laufzeitfehler kommen. Du kannst das mit On Error Resume Next abfangen, wie im obigen Code gezeigt.
  • Netzlaufwerk existiert nicht: Vergewissere dich, dass der Pfad korrekt ist und das Laufwerk im Netzwerk verfügbar ist. Nutze If Dir("W:", vbDirectory) <> "" Then, um zu prüfen, ob das Laufwerk bereits verbunden ist.

Alternative Methoden

Du kannst auch das Windows-Betriebssystem nutzen, um Netzlaufwerke zu verbinden oder zu trennen:

  1. Öffne den Datei-Explorer.
  2. Klicke auf "Dieser PC" und dann auf "Netzlaufwerk verbinden".
  3. Wähle einen Laufwerksbuchstaben und gib den Pfad zum Netzlaufwerk ein.
  4. Um ein Laufwerk zu trennen, klicke mit der rechten Maustaste auf das Laufwerk und wähle "Trennen".

Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen könnten:

  • Netzlaufwerk mappen:

    Sub Netzlaufwerk_mappen()
       Dim objNetzwerk As Object
       Set objNetzwerk = CreateObject("WScript.Network")
       objNetzwerk.MapNetworkDrive "X:", "\\Server\Freigabe"
       MsgBox "Netzlaufwerk X: wurde verbunden!"
    End Sub
  • Getrenntes Netzlaufwerk löschen:

    Sub Netzlaufwerk_löschen()
       Dim objNetzwerk As Object
       Set objNetzwerk = CreateObject("WScript.Network")
       On Error Resume Next
       objNetzwerk.RemoveNetworkDrive "X:"
       On Error GoTo 0
       MsgBox "Netzlaufwerk X: wurde gelöscht."
    End Sub

Tipps für Profis

  • Verwende DoEvents, um sicherzustellen, dass Excel auf Benutzerinteraktionen reagiert, während das Skript läuft.
  • Dokumentiere deine Skripte gut, damit du und andere sie später leicht verstehen können.
  • Teste deine Skripte in einer sicheren Umgebung, bevor du sie in produktiven Systemen einsetzt.

FAQ: Häufige Fragen

1. Wie kann ich ein Netzlaufwerk automatisch beim Start verbinden? Du kannst das VBA-Skript in die Arbeitsmappe einfügen und es beim Öffnen der Datei automatisch ausführen.

2. Was ist der Unterschied zwischen MapNetworkDrive und RemoveNetworkDrive? MapNetworkDrive verbindet ein Netzlaufwerk, während RemoveNetworkDrive ein bestehendes Netzlaufwerk trennt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige