Anzeige
Archiv - Navigation
584to588
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
584to588
584to588
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Excel Mappe Sperren

Excel Mappe Sperren
17.03.2005 15:35:22
Tino
Hallo,
ist es möglich eine Excel Mappe für
bestimmte User zu Sperren
Bsp. in einem Neztwerk
Netzwerk Arbeitsgruppe= HOMERECHNER
1. User- Maier
2. User- Torsten
3. User- Emil
Nun möchte ich nur dem Maier und Emil den zugriff gewären.
Dies sollte aber auch gehen, sollte Macros deaktiviert sein.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Mappe Sperren
17.03.2005 15:50:00
Matthias
Hallo Tino,
Ein wenig kompliziert, v.a. wenn es auch ohne Makros funktionieren soll.
In DieseArbeitsmappe:
Option Explicit
Private Sub MappeSpeichern(Optional fn)
Dim Sh As Worksheet
Dim bo As Boolean
Set Sh = ActiveSheet
On Error GoTo Fehler
Application.ScreenUpdating = False
If IsMissing(fn) Then
ZeigeHinweis
Application.StatusBar = "Speichert '" & ThisWorkbook.Name & "'..."
Application.EnableEvents = False
ThisWorkbook.Save
Else
ZeigeHinweis
Application.EnableEvents = False
Application.StatusBar = "Speichert '" & fn & "'..."
ThisWorkbook.SaveAs fn
End If
Fehler:
VersteckeHinweis
Sh.Activate
Application.StatusBar = False
Application.ScreenUpdating = True
If Err.Number > 0 Then MsgBox Err.Description
Application.EnableEvents = True
End Sub
Private Sub ZeigeHinweis()
Dim i As Integer
Sheets(Sheets.Count).Visible = True
For i = 1 To Sheets.Count - 1
Sheets(i).Visible = xlSheetVeryHidden
Next i
End Sub
Private Sub VersteckeHinweis()
Dim i As Integer, Sa As Boolean
Sa = ThisWorkbook.Saved
For i = 1 To Sheets.Count - 1
Sheets(i).Visible = True
Next i
Sheets(Sheets.Count).Visible = xlSheetVeryHidden
ThisWorkbook.Saved = Sa
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim aw
If Not ThisWorkbook.Saved Then
aw = MsgBox("Sollen ihre Änderungen in '" & ThisWorkbook.Name & "' gespeichert werden?", vbYesNoCancel + vbExclamation)
If aw = vbYes Then
MappeSpeichern
ElseIf aw = vbNo Then
ThisWorkbook.Saved = True
Else 'Abbrechen
Cancel = True
End If
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim fn
Cancel = True
If SaveAsUI Then
fn = Application.GetSaveAsFilename(ThisWorkbook.Name, "Excel-Dateien (*.xls), *.xls", , "Datei speichern")
If fn = False Then Exit Sub
MappeSpeichern fn
Else
MappeSpeichern
End If
End Sub
Private Sub Workbook_Open()
Dim User As String
User = UCase(Environ("USERNAME"))
Application.EnableCancelKey = xlDisabled
If User <> "MAIER" And User <> "EMIL" Then
Application.ScreenUpdating = False
MsgBox "Keine Zugangsberechtigung für " & User & "!", vbCritical
Application.EnableCancelKey = xlInterrupt
ThisWorkbook.Saved = True
If Workbooks.Count > 1 Then
ThisWorkbook.Close SaveChanges:=False
Else
Application.Quit
End If
End If
Application.EnableCancelKey = xlInterrupt
VersteckeHinweis
Sheets(1).Activate
ThisWorkbook.Saved = True
End Sub

Voraussetzungen:
1. Das letzte Tabellenblatt enthält lediglich einen gut sichtbaren Hinweis, dass die Mappe nur mit aktivierten Makros zu starten ist.
2. Der VBA-Code muss durch Kennwort geschützt sein.
Gruß Matthias
Anzeige
AW: Excel Mappe Sperren
17.03.2005 16:05:16
Tino
Habe es getestet.
Die Datei lässt sich öffnen.
Vieleicht gets ja, dass sich die Datei
nicht öffnen Lässt. Vieleicht auch mit einer
Meldung zBsp. "Dieser User ist nicht zugelassen"
AW: Excel Mappe Sperren
17.03.2005 16:27:46
Matthias
Hallo Tino,
klar lässt sie sich öffnen, aber mit deaktivierten Makros eben nur ohne Funktion. Hat du die Voraussetzungen gelesen?
Die Abfrage nach dem Windows-Benutzernamen steht im Workbook_Open()-Makro.
Gruß Matthias
AW: Excel Mappe Sperren
17.03.2005 16:35:27
Tino
Ich danke Dir, es Funktioniert jetzt.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige