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

Datei-Schreibschutz automatisiert aufheben

Forumthread: Datei-Schreibschutz automatisiert aufheben

Datei-Schreibschutz automatisiert aufheben
07.08.2003 14:25:49
Lara
Hallo zusammen,
ich habe folgendes Problem:
Über ein VBA-Makro öffne ich eine Datei, verändere den Inhalt und schließe sie mit Abspeichern unter dem alten Namen ab.
Ist diese Datei jedoch schreibgeschützt, funktioniert natürlich das Abspeichern unter dem alten Dateinamen nicht. Macht auch Sinn, doch mir flutscht immer mal wieder ein gesetzter Schreibschutz unter, wenn ich die besagte Datei von einer CD kopiere und dann vergesse, den Schreibschutz manuell zu entfernen...
Könnt Ihr mir bitte sagen, wie ich mit VBA erkennen kann, ob eine Datei, die geöffnet werden soll, einen Schreibschutz enthält und wie ich diesen Schreibschutz aufheben kann?
Danke im voraus!
Viele Grüße
Lara
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Datei-Schreibschutz automatisiert aufheben
07.08.2003 14:27:25
richard
hi lara
'######## Umschalten von Schreibgeschützt auf Normal
'######## öffnen der Datei Test.xls im Normal Modus

Sub Schreib_Lesestatus_Ändern()
On Error Resume Next
ActiveWorkbook.ChangeFileAccess Mode:=xlReadWrite, notify:=True
On Error GoTo 0
End Sub

mfg richi

Anzeige
AW: Datei-Schreibschutz automatisiert aufheben
07.08.2003 14:44:24
Lara
Hallo Richi,
ich hab's ausprobiert, doch es funktioniert leider nicht. Ich erhalte nun die Meldung, dass das Dokument verwendet wird und zum Bearbeiten durch einen anderen Benutzer gesperrt ist. Dieser Benutzer ist sicherlich mein VBA-Programm, das diese Datei geöffnet hat.
Gibt es vielleicht eine Möglichkeit, bereits vor dem Öffnen der Datei einen möglicherweise gesetzten Schreibschutz zu entfernen?
Viele Grüße
Lara

Anzeige
AW: Datei-Schreibschutz automatisiert aufheben
07.08.2003 14:50:05
richard
hallo lara,
wenn du den code von mir in das
workbook_open() ereignis legst, wird der schreib lesezugriff geändert. bei mir geht das problemlos.
ich befinde mich in einer schreibgeschützten mappe und wenn ich den code ausführe, ist sie danach nicht mehr schreibgeschützt.
oder verwendet noch ein dritter user diese datei
mfg richi

Anzeige
AW: Datei-Schreibschutz automatisiert aufheben
07.08.2003 16:47:27
Lara
Hallo Richi,
Du befindest Dich in einer schreibgeschützten Mappe, ich leider nicht.
Die Situation:
Mein VBA-Code öffnet eine neue Excel-Datei (a.xls) (der VBA-Code liegt in einer anderen Excel-Datei, b.xls). Mein VBA-Code verändert nun den Inhalt von a.xls und soll diese Änderungen abspeichern, ohne dass ich als Anwender meines Tools eingreifen muss. Leider ist a.xls ab und zu schreibgeschützt und dann funktioniert das automatische Abspeichern nicht.
Hast Du hierfür eine Lösung? Sorry, wenn ich Dich bisher auf die falsche Fährte gebracht habe.
Viele Grüße
Lara

Anzeige
AW: Datei-Schreibschutz automatisiert aufheben
08.08.2003 08:54:02
richard
morgen lara,
mit der falschen fährte ist halb so wild. dass du von einer mappe auf eine andere zugreifst vereinfacht die sache natürlich nicht. ich habe damit auch immer meine problem und muss dann selber hier fragen. verscuh einfach nochmal mit mit der obigen beschreibung und dem anzeigen meines code beispiels in einem neuen thread dein glück.
viel erfolg dabei
mfg richi

Anzeige
AW: Datei-Schreibschutz automatisiert aufheben
08.08.2003 10:39:48
Lara
Hallo Richi,
ich werde es nochmal mit besserer Problembeschreibung posten. Vielleicht ist das auch eher ein Offtopic-Thema. Mir scheint es mittlerweile, dass mein Problem gar nichts mit Excel zu tun hat, da die Änderung des Schreibschutzes einer Datei vor dem Öffnen dieser Datei wohl mehr eine Filesystem-Geschichte ist.
Dennoch dank Dir für Deine Tipps (ich habe dazugelernt!) und für Deine Geduld.
Viele Grüße
Lara

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

Datei-Schreibschutz automatisiert aufheben


Schritt-für-Schritt-Anleitung

  1. Öffnen der Datei: Stelle sicher, dass Du die Datei, die Du bearbeiten möchtest, im VBA-Code öffnest.

  2. Schreibschutz überprüfen: Verwende den folgenden VBA-Code, um zu prüfen, ob die Datei schreibgeschützt ist und den Schreibschutz aufzuheben:

    Sub SchreibschutzAufheben()
       On Error Resume Next
       ActiveWorkbook.ChangeFileAccess Mode:=xlReadWrite, notify:=True
       If Err.Number <> 0 Then
           MsgBox "Datei kann nicht bearbeitet werden, möglicherweise ist sie schreibgeschützt oder von einem anderen Benutzer verwendet."
       End If
       On Error GoTo 0
    End Sub
  3. Änderungen vornehmen: Führe die gewünschten Änderungen in der Datei durch.

  4. Speichern: Speichere die Datei mit ActiveWorkbook.Save und schließe sie.


Häufige Fehler und Lösungen

  • Fehler: "Dokument wird verwendet": Dieser Fehler tritt auf, wenn die Datei bereits von einem anderen Benutzer geöffnet ist. Stelle sicher, dass niemand sonst die Datei geöffnet hat.

  • Schreibschutz kann nicht aufgehoben werden: Wenn ActiveWorkbook.ChangeFileAccess nicht funktioniert, könnte die Datei tatsächlich schreibgeschützt sein. Überprüfe die Dateieigenschaften auf Deinem Computer und entferne den Schreibschutz manuell, bevor Du das VBA-Skript ausführst.


Alternative Methoden

  • Manuelles Aufheben des Schreibschutzes: Du kannst den Schreibschutz über die Dateieigenschaften aufheben. Klicke mit der rechten Maustaste auf die Datei, wähle „Eigenschaften“ und deaktiviere das Kontrollkästchen „Schreibgeschützt“.

  • Verwendung von Batch-Skripten: Für eine größere Anzahl von Dateien kannst Du Batch-Skripte verwenden, um den Schreibschutz aufzuheben. Dies kann besonders nützlich sein, wenn Du viele Dateien von einer CD kopierst.


Praktische Beispiele

  1. Einfaches VBA-Skript: Nutze das folgende Skript, um eine Datei zu öffnen und den Schreibschutz zu entfernen:

    Sub DateiÖffnenUndSchreibschutzEntfernen()
       Workbooks.Open Filename:="C:\Pfad\zu\deiner\Datei.xlsx"
       Call SchreibschutzAufheben
       ' Führe hier deine Änderungen durch
       ActiveWorkbook.Save
       ActiveWorkbook.Close
    End Sub
  2. Schreibschutz von mehreren Dateien aufheben: Verwende eine Schleife, um den Schreibschutz für mehrere Dateien in einem Ordner aufzuheben:

    Sub MehrereDateienSchreibschutzAufheben()
       Dim Datei As String
       Datei = Dir("C:\Pfad\zu\deinem\Ordner\*.xlsx")
       Do While Datei <> ""
           Workbooks.Open Filename:=Datei
           Call SchreibschutzAufheben
           ' Führe hier deine Änderungen durch
           ActiveWorkbook.Save
           ActiveWorkbook.Close
           Datei = Dir
       Loop
    End Sub

Tipps für Profis

  • Automatisierung: Integriere das Aufheben des Schreibschutzes in das Workbook_Open() Ereignis, sodass es automatisch beim Öffnen der Datei erfolgt.

  • Fehlerüberprüfung: Implementiere Fehlerüberprüfungen, um sicherzustellen, dass die Datei nicht von einem anderen Benutzer verwendet wird, bevor Du versuchst, den Schreibschutz aufzuheben.

  • Versionskompatibilität: Achte darauf, dass Dein VBA-Code mit der von Dir verwendeten Excel-Version kompatibel ist. Bei Excel 2003 kann der Code leicht abweichen.


FAQ: Häufige Fragen

1. Wie kann ich schreibgeschützt aufheben?
Du kannst den Schreibschutz in den Dateieigenschaften aufheben oder ein VBA-Skript verwenden, um dies automatisiert zu tun.

2. Warum funktioniert der VBA-Code nicht?
Es könnte sein, dass die Datei von einem anderen Benutzer verwendet wird oder dass Du nicht die notwendigen Berechtigungen hast, um den Schreibschutz aufzuheben. Überprüfe auch, ob die Datei tatsächlich schreibgeschützt 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