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

Prüfen ob Netzwerk vorhanden

Forumthread: Prüfen ob Netzwerk vorhanden

Prüfen ob Netzwerk vorhanden
30.01.2020 09:46:19
philipp
Guten Morgen,
1. Frage warum bekomme ich keine E-Mail als Info ?
Mein Problem:
If VBA.Environ("USERNAME") = "pcp" and If VBA.Environ("USERNAME") = "pc2" Then
MsgBox "nur ph"
Else
MsgBox "beide"
End If
ich möchte also abfragen ob beide User aktiv sind. Auch der pc2 oder vielleicht pc2 nicht
an ist.
Bei mir wird MsgBox "beide" angezeigt obwohl der pc2 nicht an ist.
Was habe ich FALSCH ?
gruß philipp b
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Prüfen ob Netzwerk vorhanden
30.01.2020 09:55:29
Nepumuk
Hallo Philipp,
1. Keine Ahnung.
2. Klar bekommst du das "beide" den eine Umgebungsvariabel kann nie zwei Werte haben.
Gruß
Nepumuk
AW: Prüfen ob Netzwerk vorhanden
30.01.2020 10:10:08
philipp
Hallo Nepumuk,
habe mal dies im Netz gefunden:
Set fs = CreateObject("Scripting.FileSystemObject")
If Not fs.DriveExists(testdrive) Then
MsgBox "Netzlaufwerk > " & testdriveC & " existiert."
dauert aber sehr lange, gibt es etwas schnelleres ?
gruß
philipp k
Anzeige
AW: Prüfen ob Netzwerk vorhanden
30.01.2020 10:21:02
Nepumuk
Hallo Philipp,
Bing bringt bei der Suchen nach "vba prüfen ob netzlaufwerk vorhanden" 455.000 Treffer. Welche davon hast du getestet?
Gruß
Nepumuk
AW: Prüfen ob Netzwerk vorhanden
30.01.2020 10:43:39
philipp
Hallo,
habe über Google Chrome gesucht !
gruß philipp k
AW: Prüfen ob Netzwerk vorhanden
30.01.2020 15:19:15
Nepumuk
Hallo Philipp,
teste mal:
Option Explicit

Private Declare PtrSafe Function SetCurrentDirectoryA Lib "kernel32.dll" ( _
    ByVal lpPathName As String) As Long

Sub Test()
    Dim lngReturn As Long
    lngReturn = SetCurrentDirectoryA("\\SERVERNAME\Eigene Dateien\AEG\Arbeitsaufträge PT4\Zeichnungen")
    If lngReturn = 0 Then
        MsgBox "Fehler"
    Else
        MsgBox "OK"
    End If
End Sub

Gruß
Nepumuk
Anzeige
Danke -)
30.01.2020 11:03:26
philipp
Hallo,
habe dies gefunden, auch philipp...
aber funktioniert dauert auch länger wenn der andere PC nicht an ist.
Sub phdrive_exists()
Dim fs As Object
Dim testdrive As String
testdrive = "\\ph\f\"
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.DriveExists(testdrive) Then
MsgBox "Drive >" & testdrive & "" & testdrive & "

schönen Tag noch.
gruß philipp k
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Netzwerkverfügbarkeit in Excel mit VBA überprüfen


Schritt-für-Schritt-Anleitung

Um zu überprüfen, ob ein Netzwerk vorhanden ist, kannst Du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle "Einfügen" > "Modul".

  3. Füge den folgenden Code in das Modul ein:

    Sub CheckNetwork()
       Dim fs As Object
       Dim testdrive As String
       testdrive = "\\SERVERNAME\Freigabe" ' Passe den Pfad an
    
       Set fs = CreateObject("Scripting.FileSystemObject")
    
       If fs.DriveExists(testdrive) Then
           MsgBox "Netzlaufwerk existiert."
       Else
           MsgBox "Netzlaufwerk existiert nicht."
       End If
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro "CheckNetwork" aus, um die Netzwerkverfügbarkeit zu überprüfen.


Häufige Fehler und Lösungen

  1. Fehler: "Netzlaufwerk existiert nicht."

    • Lösung: Überprüfe den Pfad zum Netzwerk und stelle sicher, dass der Server und die Freigabe aktiv sind.
  2. Fehler: Laufzeitfehler beim Ausführen des Makros

    • Lösung: Stelle sicher, dass die Scripting.FileSystemObject-Bibliothek verfügbar ist und die richtigen Berechtigungen zum Zugriff auf das Netzwerk bestehen.

Alternative Methoden

Eine andere Möglichkeit, die Netzwerkverfügbarkeit zu überprüfen, ist die Verwendung von VBA.Environ. Hier ist ein Beispiel:

Sub CheckUser()
    If VBA.Environ("USERNAME") = "pcp" Then
        MsgBox "Benutzer pcp ist aktiv."
    ElseIf VBA.Environ("USERNAME") = "pc2" Then
        MsgBox "Benutzer pc2 ist aktiv."
    Else
        MsgBox "Kein aktiver Benutzer."
    End If
End Sub

Diese Methode überprüft den Benutzernamen, der im System angemeldet ist, und kann in Kombination mit der Netzwerküberprüfung verwendet werden.


Praktische Beispiele

Hier sind zwei nützliche Beispiele, die die Anwendung von VBA zur Überprüfung der Netzwerkverfügbarkeit veranschaulichen:

  1. Überprüfung eines spezifischen Netzlaufwerks:

    Sub CheckSpecificDrive()
       Dim drive As String
       drive = "Z:" ' Ändere den Laufwerksbuchstaben nach Bedarf
    
       If Dir(drive & "\") <> "" Then
           MsgBox "Das Netzlaufwerk " & drive & " ist verbunden."
       Else
           MsgBox "Das Netzlaufwerk " & drive & " ist nicht verbunden."
       End If
    End Sub
  2. Überprüfung, ob mehrere Benutzer aktiv sind:

    Sub CheckMultipleUsers()
       Dim users As Variant
       users = Array("pcp", "pc2")
    
       For Each user In users
           If VBA.Environ("USERNAME") = user Then
               MsgBox "Benutzer " & user & " ist aktiv."
           End If
       Next user
    End Sub

Tipps für Profis

  • Verwende Option Explicit am Anfang Deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.
  • Experimentiere mit der Verwendung von On Error Resume Next, um Fehler zu behandeln, ohne dass das Programm stoppt.
  • Überlege, ob Du ein Logging-System einrichten möchtest, um Netzwerküberprüfungen zu protokollieren.

FAQ: Häufige Fragen

1. Frage
Wie kann ich den Pfad für das Netzwerk anpassen?
Du kannst den Pfad im Code (testdrive) einfach durch den gewünschten Netzwerkpfad ersetzen.

2. Frage
Gibt es eine Möglichkeit, die Überprüfung schneller zu gestalten?
Ja, die Verwendung von VBA.Environ kann schneller sein, da sie direkt die Umgebungsvariablen abruft, anstatt auf die Existenz von Laufwerken zu warten.

3. Frage
Wie gehe ich vor, wenn ich mehrere Laufwerke überprüfen möchte?
Du kannst eine Schleife verwenden, um durch eine Liste von Laufwerken zu iterieren und deren Verfügbarkeit zu prüfen.

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