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

Prüfen auf Schreibrechte

Forumthread: Prüfen auf Schreibrechte

Prüfen auf Schreibrechte
12.09.2008 09:39:02
Captain
Moin,
wie kann ich überprüfen, ob der User, der die Excelmappe öffnet, auch Schreibrechte auf den Ordner, in dem sich die Exceldatei befindet, hat?
Jack
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen auf Schreibrechte
12.09.2008 09:47:12
chris
Hallo Jack,
das kannst du prüfen indem du in der Datei ausliest ob sie schreibgeschützt geöffnet ost oder nicht.
Etwa so :
'Wenn Datei Schreibgeschützt ist dann nicht öffnen !
If ThisWorkbook.ReadOnly = True Then
MsgBox ("Datei schreibgeschützt" & Chr(10) & "Datei kann deshalb nicht geöffnet werden"), vbCritical, "Datei wird geschlossen"
ThisWorkbook.Close (False)
Exit Sub
End If
gruß Chris
Anzeige
AW: Prüfen auf Schreibrechte
12.09.2008 12:31:16
JogyB
Das hilft aber nicht bei dem Problem, da es nur überprüft, ob er die Datei schreibgeschützt geöffnet hat (oder nicht), aber nicht die Schreibberechtigung im Ordner.
Ist jetzt nicht elegant, geht aber:

on error resume next
' hier irgendeinen wirren Dateinamen, der nicht vorkommt
' \ vor Namen muss sein, da im Path am Ende keiner kommt
open thisworkbook.path & "\dsjkajkdhajjkas.ghd" for output as #1
if err.number = 0 then
schreibRechte = true
else
schreibrechte = false
end if
close #1
kill thisworkbook.path & "\dsjkajkdhajjkas.ghd"
on error goto 0

Gruss, Jogy

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Prüfung von Schreibrechten in Excel


Schritt-für-Schritt-Anleitung

Um zu überprüfen, ob der Benutzer Schreibrechte auf den Ordner hat, in dem sich die Excel-Datei befindet, kannst du den folgenden VBA-Code verwenden:

  1. Öffne die Excel-Datei, in der du die Prüfung implementieren möchtest.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject (deine_datei.xlsx)" klickst und dann "Einfügen" > "Modul" wählst.
  4. Kopiere den folgenden Code in das Modul:
Sub CheckWriteAccess()
    Dim schreibRechte As Boolean
    On Error Resume Next
    ' Hier irgendeinen wirren Dateinamen, der nicht vorkommt
    Open ThisWorkbook.Path & "\dsjkajkdhajjkas.ghd" For Output As #1
    If Err.Number = 0 Then
        schreibRechte = True
    Else
        schreibRechte = False
    End If
    Close #1
    Kill ThisWorkbook.Path & "\dsjkajkdhajjkas.ghd"
    On Error GoTo 0

    If schreibRechte Then
        MsgBox "Der Benutzer hat Schreibrechte auf den Ordner.", vbInformation
    Else
        MsgBox "Der Benutzer hat keine Schreibrechte auf den Ordner.", vbCritical
    End If
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Führe das Makro CheckWriteAccess aus, um die Schreibrechte zu überprüfen.

Häufige Fehler und Lösungen

Fehler 1: Das Makro wird nicht ausgeführt.

Lösung: Stelle sicher, dass du die Makros in deinen Excel-Einstellungen aktiviert hast. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center und aktiviere die Makros.

Fehler 2: Fehlermeldung beim Öffnen einer Datei.

Lösung: Überprüfe, ob der Pfad zur Datei korrekt ist. Du kannst den Pfad überprüfen, indem du MsgBox ThisWorkbook.Path im Code hinzufügst.


Alternative Methoden

Eine alternative Methode zur Überprüfung der Schreibrechte besteht darin, die Datei im schreibgeschützten Modus zu öffnen und anschließend zu prüfen, ob sie erfolgreich geöffnet werden kann. Diese Methode ist jedoch weniger effektiv, da sie nur die Datei selbst, nicht den Ordner überprüft.

If ThisWorkbook.ReadOnly = True Then
    MsgBox "Datei schreibgeschützt. Datei kann nicht geöffnet werden.", vbCritical
    ThisWorkbook.Close (False)
    Exit Sub
End If

Praktische Beispiele

Ein praktisches Beispiel für die Verwendung des Makeos könnte sein, dass du vor dem Speichern von Änderungen an einer Excel-Datei sicherstellen möchtest, dass der Benutzer die erforderlichen Schreibrechte hat. Füge einfach den Code zur Überprüfung der Schreibrechte in das Speichermakro ein.


Tipps für Profis

  • Vermeide es, temporäre Dateien mit zufälligen Namen zu erstellen, um Kollisionen zu vermeiden.
  • Füge Logging-Funktionen hinzu, um die Ergebnisse der Schreibrechte zu protokollieren.
  • Verwende Error-Handling, um unerwartete Fehler zu behandeln und eine bessere Benutzererfahrung zu gewährleisten.

FAQ: Häufige Fragen

1. Wie kann ich den VBA-Editor öffnen?
Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

2. Was mache ich, wenn das Makro nicht funktioniert?
Stelle sicher, dass die Makros aktiviert sind und der Code korrekt kopiert wurde. Überprüfe auch den Dateipfad, um sicherzustellen, dass er korrekt ist.

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