Speichern 'nicht' erlauben

Hi zusammen,

habe folgende Frage. Ich möcht ein einer Umfangreichen Tabelle nur einer Person das speichern bzw. bearbeiten der Tabelle ermöglichen. Die Tabelle wird von mehreren Anwendern genutzt. Diese sollen auch noch die Möglichkeit haben die entsprechenden Makros zu nutzen. Sie dürfen nur keine Änderungen und Speicherung vornehmen. Habe im Netz folgendes Gefunden:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Darf „J“ Then
Cancel = True
MsgBox „Du darfst das nicht!“
End If
Darf = „N“
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Darf „J“ Then
Cancel = True
MsgBox „Datei nicht gesichert, Du darfst das nicht!“
End If
Darf = „N“
End Sub

Beispielmappe: http://www.herber.de/bbs/user/37221.xls

Wenn man die Datei schließt, dann kann man nicht speichern. Wenn man dann auf dem Button „Darf doch“ klickt, dann kann man speichern. Kann man diesen Button mit einem Kennwort versehen?

LG

habe folgende Frage. Ich möcht ein einer Umfangreichen Tabelle
nur einer Person das speichern bzw. bearbeiten der Tabelle
ermöglichen. Die Tabelle wird von mehreren Anwendern genutzt.
Diese sollen auch noch die Möglichkeit haben die
entsprechenden Makros zu nutzen. Sie dürfen nur keine
Änderungen und Speicherung vornehmen.

Hallo Kolri,

in Excel kann man zwei Benutzernamen überprüfen, such dir einen aus in den zwei nachstehenden Codes.

Natürlich kannst du auch in das Before_Save-Ereignis eine Passwortabfrage einbauen.
Es empfiehlt sich dabei den Vba-Code gegen Ansicht mit einem Kennwort zu belegen.

All das funktioniert natürlich nur wenn auch bei Start der mappe Makros aktiviert werden.
Um dies zu gewährleisten muß man die User dazu zwingen.
Beispiele für diesen Zwang findest du hier:
http://hajo-excel.de/inhalt_vba.htm

Links unter dem Punkt „nur mit Makros“

Gruß
Reinhard

Private Sub Workbook\_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Application.UserName "abc" Then 'Excel-Username
 Cancel = True
 MsgBox "Speichern nicht erlaubt"
End If
End Sub

Private Sub Workbook\_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Environ("Username") "abc" Then 'Windows-Username
 Cancel = True
 MsgBox "Speichern nicht erlaubt"
End If
End Sub

Hallo!

Wenn die Datei in einem freigegeben Ordner liegt oder auf einer lokalen NTFS-Festplatte, kannst Du die Berechtigungen für „Nur Lesen“ und „Schreiben“ auch gleich auf Dateiebene festlegen. Ist auf alle Fälle sicherer und vermutlich auch weniger aufwändig.

Gruß
(Woly)

Hi Reinhard,

SUPER. Genau so wollte ich es haben! Ich danke mal wieder für Deine Hilfe :smile:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean,
Cancel As Boolean)
If Application.UserName „abc“ Then 'Excel-Username
Cancel = True
MsgBox „Speichern nicht erlaubt“
End If
End Sub