Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1344to1348
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ChangeFileAccess Probleme

ChangeFileAccess Probleme
24.01.2014 16:45:29
Berny
Halle VBA Profis!
ich habe ein riesiges Problem mit ChangeFileAccess. Ein umfangreiches Programm (ca. 100 Seiten Code) welches ich keinem von euch zumuten möchte bringt seit der Umstellung von Version 2003 auf Version 2010 für mich unlogische Ergebnisse.
Ich habe nun das Problem auf folgende 6 Zeilen reduziert.

Sub SchreibschutzEinAus()
If ActiveWorkbook.ReadOnly Then
ActiveWorkbook.ChangeFileAccess Mode:=xlReadWrite, WritePassword:="", Notify:=False
Else
ActiveWorkbook.ChangeFileAccess xlReadOnly
End If
End Sub

Wie ihr seht, ist das ein ganz einfacher Umschalter für Schreibschutz Ein bzw. Aus.
(Das WritePassword: ..... kann alles mögliche sein)
Nun zu meinem Problem: Wenn ich bei irgend einer Mappe mit Schreibschutz-Passwort das o.g. Makro laufen lasse wird der Schreibschutz aufgehoben egal ob das Passwort stimmt oder nicht. Wenn ich nun hin und her schalte kommt es darauf an ob die Datei Lokal oder auf einem Server gespeichert ist. Auf dem Server kann es passieren, dass ich nach dem zweiten mal den Schreibschutz nicht mehr aufheben kann, obwohl ich das richtige Passwort eingegeben habe.
Kann das irgend einer nachvollziehen und hat vielleicht einer eine Idee?
Leider ergibt sich daraus noch ein weiteres Problem. Mein selbstgebautes Menüband welches nur angezeigt wird wenn eine Bestimmte Mappe aktiv ist erleidet einen "Herzstillstand".
Kann man ein Ribbon wieder zum Leben erwecken ohne Excel neu zu starten?
Schönes Wochenende
Berny

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

Betreff
Datum
Anwender
Anzeige
AW: ChangeFileAccess Probleme
25.01.2014 09:22:52
fcs
Hallo Berny,
ich hab dein Makro mit lokalen Verzeichnissen gestestet unter Windows Vista, Excel 2010 (32bit).
Der von dir beschriebene Effekt tritt auf, wenn eine per Änderungskennwort geschützte Datei schreibgeschützt geöffnet wird. Egal, ob der Parameter WritePassword angegeben wird oder nicht, nach Ausführung des Makros (Schreibschutz deaktivieren) und anschliessendem Speichern ist der Kennwortschutz für das Ändern von Daten weg.
Wird eine per Änderungskennwort geschützte Datei inlusive Eingabe des Kennworts zum Ändern geöffnet, dann bleibt das Kennwort beim Umschalten erhalten. Merkwürdiger Weise auch dann wenn dieses im Makro nicht korrekt übergeben wird. Werden Änderungen in der Datei gemacht, dann werden auch logisch korrekte Abfragen zum Speichern, Verwerfen oder Speichern in einer anderen Datei angezeigt.
Die Wurzel allen Übels scheint zu sein, dass bei einer schreibgeschützt geöffneten Datei, der Inhalt des Feldes, in dem das Kennwort gespeichert wird, gelöscht wird. Dies sieht man, wenn man eine kennwortgeschützte Datei schreibgeschützt öffnet, dann den "Speichern unter"-Dialog aufruft und dort unter "Tools" die "allgemeinen Optionen" anzeigt. Das Eingabefeld für das Schreib-Kennwort ist leer.
Ob dies bei 2003er-Version noch anders war, daran kann ich mich nicht mehr erinnern.
Als Alternative zu deinem Makro würde ich folgende Variante verwenden. Diese ist zwar etwas langsamer und erfordert jedes Mal die Eingabe des Kennwortes, wenn in den nicht schreibgeschützten Modus gewechselt wird, dürfte aber nicht die von dir beschriebenen Probleme haben.
Gruß
Franz
Sub SchreibschutzEinAus()
Dim strFile As String
strFile = ActiveWorkbook.FullName
If ActiveWorkbook.ReadOnly Then
'schreibgeschützte aktive Datei ohne speichern schließen
ActiveWorkbook.Close savechanges:=False
'Datei wieder öffen
Workbooks.Open Filename:=strFile
Else
'Datei schliesen
ActiveWorkbook.Close
On Error Resume Next 'Erforderlich, wenn speichern von Änderungen abgebrochen wird
'Datei schreibgeschützt wieder öffnen
Workbooks.Open Filename:=strFile, ReadOnly:=True
End If
End Sub

Anzeige
AW: ChangeFileAccess Probleme
27.01.2014 08:27:55
Berny
Hallo Franz,
vielen Dank für Deine Antwort. Ich habe noch beide Versionen auf meinem Rechner und kann mit Sicherheit sagen, dass das unter Excel 2003 anders war. Hier konnte ich den Schreibschutz nur mit dem richtigen Passwort öffnen. Ich konnte die Mappe, solange sie von keinem anderen Benutzer geändert wurde, beliebig oft umschalten. Das heißt hier wurde wirklich auf den Server geschaut und geprüft ob sich etwas geändert hat. Jetzt bekomme ich die Meldung Verwerfen ... beim zweiten umschalten egal ob überhaupt ein zweiter User existiert oder nicht.
Mit Deinem Vorschlag umgehe ich die Problematik das ich die Meldung bekomme Verwerfen ... weil ich vorher selbst schon verwerfe. Das hilft mir nur zum Teil. ich hätte gerne das ich immer den Schreibschutz aufheben kann solange noch keiner meiner Kollegen (40 Personen im ganzen Werk verteilt) Hand angelegt hat.
Wie auch immer. Vielen Dank für deine Hilfe.
Ich bin erstaunt, dass angesichts dieser gravierenden Sicherheitslücke (Passwort geschützter Schreibschutz ohne Passwort aufheben)so wenig Reaktionen kommen.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige