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
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
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
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
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
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.
ALT + F11
, um den VBA-Editor zu öffnen.Einfügen
> Modul
.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
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.
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.
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.
Ü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
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
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.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen