Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
952to956
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
952to956
952to956
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Prüfen ob Mappe schreibgeschützt geöffnet wurde

Prüfen ob Mappe schreibgeschützt geöffnet wurde
22.02.2008 08:04:18
Mario
Hallo,
ich habe eine Excelmappe, die ohne das entsprechende Kennwort nur schreibgeschützt geöffnet werden kann.
In der Mappe befindet sich eine Schaltfläche, mit der diese Mappe gespeichert werden kann.
Für den User, der das Passwort hat, ist das kein Thema. Wer aber die Mappe schreibgeschützt geöffnet hat,
bekommt jetzt die Möglichkeit die Mappe an einem anderen Ort zu speicher.
Wie kann ich abfragen, ob die Mappe aktuell schreibgeschützt geöffnet ist bzw. vermeiden, dass diese
Abfrage nach einem anderen Speicherort kommt?
Viele Grüße
mario

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen ob Mappe schreibgeschützt geöffnet wurde
22.02.2008 10:03:11
Tino
Hallo,
so müsste es gehen.
Als Code in die Arbeitsmappe.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ActiveWorkbook.ReadOnly = True Then
MsgBox "schreibgeschützt"
Cancel = True
End If
End Sub


Gruß
Tino

AW: Prüfen ob Mappe schreibgeschützt geöffnet wurde
22.02.2008 10:14:00
Mario
Hi Tino,
super, vielen Dank, funktioniert wie gewünscht.
Grüße/mario

AW: Prüfen ob Mappe schreibgeschützt geöffnet wurde
22.02.2008 10:33:00
fcs
Hallo Mario,
den Code für den Button muss du etwa wie folgt anpassen.

Sub TestSpeichern()
If ThisWorkbook.ReadOnly = True Then
MsgBox "Die Datei ist schreibgeschützt, Sie dürfen diese Datei nicht speichern"
Else
ThisWorkbook.Save
End If
End Sub


Allerdings muss du auch die Aktivierung der Makros beim Öffnen erzwingen, um das Speichern unter einem anderen Namen via Menü Datei zu erschweren. Dazu ein zusätzliches Tabellenblatt mit dem Namen z.B. "Info" in der Arbeitsmappe einfügen und einen kleinen Hinweis-Text eintragen.
Unter DieseArbeitsmappe dann folgenden Code einfügen. Die Zeilen mit den Meldungstexten kannst du natürlich auch weglassen.


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Blatt As Object
If Me.ReadOnly = True And Me.Saved = False Then
MsgBox "Die Datei ist schreibgeschützt, Sie dürfen diese Datei nicht speichern"
VBA.SendKeys "+N" 'Sendet Alt+N (Nein) an die Sicherheitsabfrage
Else
'Alle Blätter ausser Blatt "Info" vor dem Schliessen ausblenden
For Each Blatt In Me.Sheets
If Blatt.Name = "Info" Then
Blatt.Visible = xlSheetVisible
Else
Blatt.Visible = xlSheetVeryHidden
End If
Next
Me.Save
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Me.ReadOnly = True And Me.Saved = False Then
MsgBox "Sie dürfen diese Datei nicht speichern"
Cancel = True
End If
End Sub
Private Sub Workbook_Open()
'Alle Blätter einblenden
Dim Blatt As Object
For Each Blatt In Me.Sheets
Blatt.Visible = xlSheetVisible
Next
End Sub


Anzeige

6 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige