Microsoft Excel

Herbers Excel/VBA-Archiv

Makros gezielt zulassen oder Ausführung verweigern

Betrifft: Makros gezielt zulassen oder Ausführung verweigern von: michel
Geschrieben am: 01.09.2004 14:42:28

Hallo Excel-Gemeinde,

ich stehe vor einem kleinen Problem und finde gerade nicht den nötigen Ansatz:

mehrere Nutzer haben Zugriff auf eine Datei, die für den "normalen" User nur ein Tabellenblatt mit Schaltflächen enthält, über die er die "Anwendung" bedient. Alle weiteren Tabellenblätter sind mittels veryhidden ausgeblendet und sollen ihm auch nicht zur Verfügung stehen. Ein kleiner Kreis soll allerdings auf ein paar Blätter mehr Zugriff erhalten. Und da kommt mein Problem: Ich will dieser Gruppe über einen Admin-Button die Blätter einblenden. Sitzt aber einer meiner Spezialisten bei den normalen Usern vor der Anwendung besteht durchaus die Chance, dass er kurz ein eigenes Makro schreibt und sich so alle Blätter einblendet. Das wollte ich durch ein Worksheet_Activate, das das Blatt wieder auf veryhidden setzt verhindern. Allerdings klappt dann das mit dem Admin-Button nimmer, denn dann blend ich die Blätter ein und wenn der User es anklickt blendet ein activate-Ereignis es wieder aus....

Ich sehe vor lauter Bäumen keinen Wald mehr..hat jemand die zündende Idee??

Danke im Voraus
Michel

  


Betrifft: AW: Makros gezielt zulassen oder Ausführung verweigern von: :
Geschrieben am: 01.09.2004 15:03:36

das kannst du knicken. Füge folgenden Code in eine neue Mappe ein und ersetze MeineDatei.xls durch deinen Dateinamen. Schwupps, sind alle Blätter sichtbar.
Application.EnableEvents=False am Ende unterbindet auch die Ausführung der Sheet_Activate-Makros in deiner Datei.
Sub test_einblenden()
Dim sh As Worksheet
For Each sh In Workbooks("MeineDatei.xls").Sheets
sh.Visible = xlSheetVisible
Next
Application.EnableEvents = False
End Sub

Gruß


  


Betrifft: AW: Makros gezielt zulassen oder Ausführung verweigern von: ransi
Geschrieben am: 01.09.2004 16:31:37

hallo michel

zündet zwar nicht so ganz die idee, aber anderer ansatz:

geht es vieleicht wenn du mit application.username eine abfrage machst wer da grad vor dem pc sitzt?
hat aber den haken das xl den namen aus dem extras-optionen-allgemein-benutzername ausliest.
irgendwo hab ich mal einen code gesehen der den usernamen aus der registry ausliest.
wäre glaub ich sicherer.
das ganze könnte dann so gehn:

Private Sub Worksheet_Activate()
if username <> berechtigter then activesheet.veryhidden =true
anderes sheet.activate
end if
End Sub


ransi


  


Betrifft: AW: Makros gezielt zulassen oder Ausführung verwei von: Uduuh
Geschrieben am: 01.09.2004 21:16:00

Hallo,
ab xl2000 ist das
environ("username")
Ansonsten geht's per API. Findest du auch auf meiner HP bei den Tipps.

Gruß aus'm Pott
Udo
http://www.excelerator.de


 

Beiträge aus den Excel-Beispielen zum Thema "Makros gezielt zulassen oder Ausführung verweigern"