Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zugriffs/Leseberechtigung für Netzlaufwerke prüfen

Forumthread: Zugriffs/Leseberechtigung für Netzlaufwerke prüfen

Zugriffs/Leseberechtigung für Netzlaufwerke prüfen
21.10.2005 13:07:20
Daniel
Hallo zusammen,
ist es mit VBA möglich die Zugriffs/Leseberechtigung auf Netzlaufwerke (bzw. deren Unterordner zu prüfen)?
Ein Pfad wäre z.B.: "M:\Data"
Falls der jeweilige Benutzer keine Zugriffsberechtigung hat, sollte eben eine MsgBox mit "keine Berechtigung!" hochkommen, ansonsten sollte der Code normal weiterlaufen.
Kann mir da jemand weiterhelfen?
Danke und Gruß
Daniel
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zugriffs/Leseberechtigung für Netzlaufwerke pr
21.10.2005 14:14:45
Matthias
Hallo Daniel,
z.B. mit On Error den Fehler abfangen und auswerten?
konkretisiere doch mal, das ist recht allgemein.
Gruß Matthias
AW: Zugriffs/Leseberechtigung für Netzlaufwerke pr
21.10.2005 14:17:42
Daniel
Hallo Matthias,
ich weiß jetzt nicht genau wie ich es weiter konkretisieren kann. Das Skript sollte einfach prüfen ob Datein z.B. im Verzeichnis "M:\Data" geöffnet werden können oder nicht.
Gruß
Daniel
Anzeige
AW: Zugriffs/Leseberechtigung für Netzlaufwerke pr
21.10.2005 14:36:19
Matthias
Hallo Daniel,

Function HatZugriff(ByVal verz As String) As Boolean
If Right(verz, 1) = "\" Then verz = Left(verz, Len(verz) - 1)
Dim fn As String
On Error GoTo nein
fn = Dir(verz & "\*.*", vbNormal + vbSystem)
If fn = "" Then Error 1
Dim ff As Integer
ff = FreeFile
Open verz & "\" & fn For Input As ff
Close ff
HatZugriff = True
Exit Function
nein:
HatZugriff = False
End Function

Funktioniert aber nicht, wenn der Ordner leer ist.
Gruß Matthias
Anzeige
AW: Zugriffs/Leseberechtigung für Netzlaufwerke pr
21.10.2005 14:52:40
Daniel
Hallo Matthias,
sorry dass ich jetzt erst antworte. Deine Function funktioniert perfekt! Vielen Dank dafür - genau sowas hab ich gesucht!!! :-)
Beste Grüße,
Daniel
;
Anzeige

Infobox / Tutorial

Zugriffs- und Leseberechtigungen für Netzlaufwerke in Excel prüfen


Schritt-für-Schritt-Anleitung

Um die Zugriffs- und Leseberechtigung für Netzlaufwerke in Excel zu prüfen, kannst du VBA verwenden. Folge diesen Schritten:

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

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" > Einfügen > Modul.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Function HatZugriff(ByVal verz As String) As Boolean
       If Right(verz, 1) = "\" Then verz = Left(verz, Len(verz) - 1)
       Dim fn As String
       On Error GoTo nein
       fn = Dir(verz & "\*.*", vbNormal + vbSystem)
       If fn = "" Then Error 1
       Dim ff As Integer
       ff = FreeFile
       Open verz & "\" & fn For Input As ff
       Close ff
       HatZugriff = True
       Exit Function
    nein:
       HatZugriff = False
    End Function
  4. Führe die Funktion aus, indem du sie in einer anderen Sub-Prozedur oder direkt im Direktfenster testest. Beispiel:

    Sub TestZugriff()
       If HatZugriff("M:\Data") Then
           MsgBox "Zugriff gewährt!"
       Else
           MsgBox "Keine Berechtigung!"
       End If
    End Sub
  5. Starte die Test-Prozedur und überprüfe die Meldung.


Häufige Fehler und Lösungen

  • Problem: Die Funktion gibt False zurück, obwohl der Ordner existiert.

    • Lösung: Stelle sicher, dass der Pfad korrekt ist und der Benutzer über die erforderlichen Berechtigungen verfügt.
  • Problem: Fehler beim Öffnen des Verzeichnisses.

    • Lösung: Überprüfe die Netzlaufwerkverbindung und stelle sicher, dass das Laufwerk nicht getrennt ist.
  • Problem: Die Funktion funktioniert nicht, wenn der Ordner leer ist.

    • Lösung: Der Code kann erweitert werden, um auch leere Ordner zu berücksichtigen. Du kannst eine zusätzliche Überprüfung einfügen, um dies zu handhaben.

Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, gibt es auch alternative Methoden, um die Leseberechtigung in Excel zu prüfen:

  • PowerShell: Du kannst ein PowerShell-Skript erstellen, das die Berechtigungen für Netzlaufwerke überprüft.
  • Windows Explorer: Klicke mit der rechten Maustaste auf den Ordner, gehe zu "Eigenschaften" und dann zum Tab "Sicherheit", um die Berechtigungen manuell zu überprüfen.

Praktische Beispiele

Hier sind einige Beispiele für die Anwendung der Funktion:

  1. Prüfung eines spezifischen Netzlaufwerks:

    Sub CheckNetworkDrive()
       Dim drive As String
       drive = "M:\Data"
       If HatZugriff(drive) Then
           MsgBox "Zugriff auf " & drive & " ist erlaubt."
       Else
           MsgBox "Keine Berechtigung für " & drive & "."
       End If
    End Sub
  2. Überprüfung mehrerer Ordner:

    Sub CheckMultipleDrives()
       Dim drives As Variant
       drives = Array("M:\Data", "M:\Backup", "M:\Reports")
       Dim i As Integer
       For i = LBound(drives) To UBound(drives)
           If HatZugriff(drives(i)) Then
               MsgBox "Zugriff auf " & drives(i) & " ist erlaubt."
           Else
               MsgBox "Keine Berechtigung für " & drives(i) & "."
           End If
       Next i
    End Sub

Tipps für Profis

  • Fehlerbehandlung: Nutze die On Error-Anweisung, um spezifische Fehler zu behandeln und benutzerfreundliche Meldungen anzuzeigen.
  • Dokumentation: Kommentiere deinen Code gut, sodass andere (oder du selbst in der Zukunft) schnell verstehen, was jeder Teil des Codes macht.
  • Leistung: Wenn du auf viele Ordner zugreifst, überlege, ob du die Anzahl der Zugriffsprüfungen minimieren kannst, um die Leistung zu verbessern.

FAQ: Häufige Fragen

1. Kann ich diese Funktion auch in Excel für Mac verwenden?
Die VBA-Funktion sollte in Excel für Mac ähnlich funktionieren, allerdings könnte es Unterschiede in der Netzwerkverbindung geben.

2. Wie kann ich die Leseberechtigung für einen Outlook-Kalender prüfen?
Das Prüfen der Leseberechtigung für einen Outlook-Kalender erfordert eine andere Herangehensweise, meist über die Outlook-Objektbibliothek in VBA.

3. Gibt es eine Möglichkeit, die Berechtigungen für mehrere Benutzer zu überprüfen?
Ja, du kannst die Funktion erweitern, um Berechtigungen für verschiedene Benutzer zu prüfen, indem du die Benutzeranmeldung in den Code integrierst.

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