Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Netzwerklaufwerk prüfen ob vorhanden

Forumthread: Netzwerklaufwerk prüfen ob vorhanden

Netzwerklaufwerk prüfen ob vorhanden
05.08.2007 09:59:00
Meinolf
Guten Morgen und hallo im Excel Forum,
ich suche einen Makro, der prüfen soll, ob eine Verbindung zu einem Netzlaufwerk z: besteht. Wenn keine Verbindung besteht soll die Verbindung mit 192.168.178.31\share als Laufwerk z: hergestellt werden.
Mfg Meinolf

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Netzwerklaufwerk prüfen ob vorhanden
05.08.2007 10:34:41
Hajo_Zi
Hallo,
den erste Teil hätte ich so realisiert.

Sub Ordner_vorhanden()
'   von Berti Koern
Dim Fso, Ordnername
Set Fso = CreateObject("Scripting.FileSystemObject")
Ordnername = "C:\Eigene Dateien\"
'    MsgBox Fso.FolderExists(Ordnername)
If Fso.FolderExists(Ordnername) = False Then MkDir "C:\Eigene Dateien\"
End Sub



Anzeige
AW: Netzwerklaufwerk prüfen ob vorhanden
05.08.2007 11:21:00
Meinolf
Hallo Hajo,
ich wollte keine Datei erstellen sondern ein Netzwerklaufwerk verbinden. Problem durch Forum gelöst siehe Beitrag Chris und Chaos.
Mfg meinolf

AW: Netzwerklaufwerk prüfen ob vorhanden
05.08.2007 10:38:31
Oberschlumpf
Hi Meinolf
Versuch mal so:

Sub netzwerk()
Dim lstrPfad As String, lShell
'so anpassen, dass auf jeden Fall eine Datei gefunden wird, wenn z: vorhanden
lstrPfad = Dir("z:\share\*.*")
If lstrPfad = "" Then
lShell = Shell("net share \\192.168.178.31\share z")
End If
End Sub


An lstrPfad wird die erste gefundene Datei aus Z:\share übergeben.
Wenn Z: noch gar nicht vorhanden, wird "" zurückgegeben.
Wenn lstrPfad = "", wird der Shell-Befehl ausgeführt.
Was den Befehl NET betrifft, musst du dich vllt noch mal schlau(er) machen, da ich hier keinen Zugriff auf NET habe, und die Syntax nicht genau kenne.
Der Befehl soll zu dem Netzwerkpfad \ \192.168.178.31\share eine Verbindung mit dem Laufwerksbuchstaben Z herstellen.
Hilft das?
Ciao
Thorsten

Anzeige
AW: Netzwerklaufwerk prüfen ob vorhanden
05.08.2007 11:16:05
Meinolf
Hallo Thorsten,
den net Befehl habe ich geändert anstatt net share net use und das z: vorgezogen, funktioniert einwandfrei. Vielen Dank und schönen Sonntag.
Gruß Meinolf

Sub netzwerk()
Dim lstrPfad As String, lShell
'so anpassen, dass auf jeden Fall eine Datei gefunden wird, wenn z: vorhanden
lstrPfad = Dir("z:\test.xls")
If lstrPfad = "" Then
'lShell = Shell("net share z: \\192.168.178.31\share")
Shell ("net use z: \\192.168.178.31\share")
End If
End Sub


Anzeige
AW: Netzwerklaufwerk prüfen ob vorhanden
05.08.2007 10:44:30
Chaos
Servus,
noch ne Möglichkeit, das Laufwerk auf Existenz zu prüfen:

Sub drive_exists()
Dim fs As Object
Dim testdrive As String
testdrive = "Z:\"
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.DriveExists(testdrive) Then
MsgBox "Drive >" & testdrive & "" & testdrive & "


Das mit dem Verbinden, weiß ich allerdings auch nicht.
Gruß
Chaos

Anzeige
AW: Netzwerklaufwerk prüfen ob vorhanden
05.08.2007 11:18:56
Meinolf
Hallo Chaos,
dein makro läuft einwandrei. Genau das was ich gesucht habe. Das mit em verbinden bekommt man mit
Shell ("net use z: \\192.168.178.31\share") hin.
Vielen Dank und schönen Sonntag.
Mfg Meinolf
;
Anzeige
Anzeige

Infobox / Tutorial

Netzwerklaufwerk prüfen und verbinden


Schritt-für-Schritt-Anleitung

Um zu prüfen, ob ein Netzwerklaufwerk vorhanden ist und gegebenenfalls eine Verbindung herzustellen, kannst Du folgenden VBA-Code verwenden. Dieser Code prüft, ob das Laufwerk Z: existiert und verbindet es mit dem Netzwerklaufwerk auf der IP-Adresse 192.168.178.31, falls es nicht vorhanden ist.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul ein: Einfügen > Modul.
  3. Kopiere und füge den folgenden Code in das Modul ein:
Sub netzwerk()
    Dim lstrPfad As String
    lstrPfad = Dir("z:\share\*.*")
    If lstrPfad = "" Then
        Shell ("net use z: \\192.168.178.31\share")
    End If
End Sub
  1. Schließe den VBA-Editor und führe das Makro aus, um das Laufwerk zu prüfen und ggf. zu verbinden.

Häufige Fehler und Lösungen

Fehler 1: Laufwerk Z: wird nicht gefunden.
Lösung: Stelle sicher, dass das Netzwerklaufwerk korrekt eingerichtet ist und die IP-Adresse 192.168.178.31 erreichbar ist. Prüfe auch, ob die Freigabe auf dem Server vorhanden ist.

Fehler 2: Keine Berechtigung zum Verbinden.
Lösung: Überprüfe die Berechtigungen für den Netzwerkordner. Stelle sicher, dass Du die nötigen Zugriffsrechte hast, um eine Verbindung herzustellen.


Alternative Methoden

Eine alternative Methode zur Überprüfung des Netzwerklaufwerks ist die Verwendung des FileSystemObject. Hier ein Beispielcode:

Sub drive_exists()
    Dim fs As Object
    Dim testdrive As String
    testdrive = "Z:\"
    Set fs = CreateObject("Scripting.FileSystemObject")
    If fs.DriveExists(testdrive) Then
        MsgBox "Laufwerk " & testdrive & " ist vorhanden."
    Else
        Shell ("net use z: \\192.168.178.31\share")
    End If
End Sub

Dieser Code prüft ebenfalls, ob das Laufwerk Z: existiert und stellt eine Verbindung her, wenn dies nicht der Fall ist.


Praktische Beispiele

  1. Laufwerk verbinden: Um ein Netzwerklaufwerk zu erstellen, kannst Du den Befehl net use verwenden, um eine Verbindung zu \\192.168.178.31\share mit dem Laufwerksbuchstaben Z: herzustellen.

  2. Überprüfung vor dem Zugriff: Vor dem Zugriff auf eine Datei auf dem Netzwerklaufwerk kannst Du den folgenden Code verwenden, um sicherzustellen, dass das Laufwerk verbunden ist:

Sub check_and_access()
    If Dir("z:\test.xls") <> "" Then
        ' Zugriff auf die Datei
        MsgBox "Datei ist verfügbar."
    Else
        MsgBox "Verbindung zum Laufwerk Z: ist erforderlich."
    End If
End Sub

Tipps für Profis

  • Automatisierung: Du kannst das Skript so anpassen, dass es automatisch beim Öffnen einer bestimmten Excel-Datei ausgeführt wird. Dazu fügst Du den Code in das Workbook_Open-Ereignis ein.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um unerwartete Probleme beim Herstellen der Verbindung abzufangen. Zum Beispiel:

On Error Resume Next
Shell ("net use z: \\192.168.178.31\share")
If Err.Number <> 0 Then
    MsgBox "Fehler beim Verbinden zum Netzwerklaufwerk."
End If
On Error GoTo 0

FAQ: Häufige Fragen

1. Wie kann ich das Netzwerklaufwerk dauerhaft verbinden?
Du kannst den Befehl net use z: \\192.168.178.31\share /persistent:yes verwenden, um das Laufwerk dauerhaft zu verbinden.

2. Was mache ich, wenn das Laufwerk nicht erreichbar ist?
Stelle sicher, dass der Server unter der IP-Adresse 192.168.178.31 eingeschaltet und im Netzwerk verfügbar ist. Prüfe auch, ob die Firewall-Einstellungen die Verbindung blockieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige