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

MakroSicherung

MakroSicherung
17.08.2006 12:13:33
Arend
Hallo Ihr,
ich suche eine Möglichkeit, wie ich verhindern kann, das beim Öffnen einer Datei die Makros deaktiviert werden können.
hezlichen Dank für eure Hilfe im Voraus
arend

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MakroSicherung
17.08.2006 12:18:05
Thorsten_Z
Hallo arend,
über Extras - Optionen - Sicherheit - Makrosicherheit auf niedrig stellen.
gruss Thorsten
AW: MakroSicherung
17.08.2006 12:19:55
Arend
nur habe ich bei den anderen usern keinen zugriff auf deren Exceleinstellungen
AW: MakroSicherung
17.08.2006 12:24:44
Thorsten_Z
Hallo Arend,
das ist aber der einzige Weg, wie es geht... und das aus gutem Grund ;-)
Eine andere öglichkeit ist das erstellen einer digitalen Signatur, die der User als vertrauenswürdig einstuft. Dann entfällt auch die Meldung zum aktivieren bzw deaktivieren der Makros.
gruss Thorsten
AW: MakroSicherung
17.08.2006 12:19:20
Matthias
Hallo Arend,
Estelle ein Blatt mit einem Hinweis, dass die Mappe nur mit aktivierten Makros geöffnet werden darf. Nenne es "Warnung" (du kannst den Namen im Code unten auch anpassen).
Dann in "DieseArbeitsmappe":

Option Explicit
Const OhneMakros = "Warnung" 'Name des Blattes mit der Info
Const pwWarnung = "12345" 'Kennwort des Blattes mit der Info
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Me.Saved = False Then
Select Case MsgBox("Sollen Ihre Änderungen in '" & Me.Name & "' gespeichert werden?", vbYesNoCancel + vbExclamation)
Case vbYes
Speichern
Case vbNo
Me.Saved = True
Case vbCancel
Cancel = True
End Select
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
If SaveAsUI Then
MsgBox "Speichern unter... nicht möglich!" 'müsste falls erforderlich noch erweitert werden
Else
Speichern
End If
End Sub
Private Sub Workbook_Open()
AllesEinblenden
On Error Resume Next
'beim Speichern gemerktes aktives Blatt anzeigen:
Sheets(Sheets(OhneMakros).Cells(Rows.Count, Columns.Count).Value).Activate
Me.Saved = True
End Sub
Private Sub AllesAusblenden()
Dim sh As Worksheet
Sheets(OhneMakros).Visible = True
For Each sh In Me.Worksheets
If sh.Name <> OhneMakros Then sh.Visible = xlSheetVeryHidden
Next sh
End Sub
Private Sub AllesEinblenden()
Dim sh As Worksheet
For Each sh In Me.Worksheets
sh.Visible = True
Next sh
Sheets(OhneMakros).Visible = xlSheetVeryHidden
End Sub
Private Sub Speichern()
Dim sh As Worksheet
Dim fehler As Boolean
Set sh = ActiveSheet
'geöffnetes Blatt merken:
With Sheets(OhneMakros)
.Unprotect Password:=pwWarnung
.Cells(Rows.Count, Columns.Count) = sh.Name
.Protect Password:=pwWarnung
End With
Application.EnableEvents = False
Application.ScreenUpdating = False
AllesAusblenden
On Error Resume Next
Me.Save
If Err.Number > 0 Then
MsgBox Err.Description, , "Fehler " & Err.Number
fehler = True
End If
On Error GoTo 0
AllesEinblenden
sh.Activate
Application.EnableEvents = True
Application.ScreenUpdating = True
If Not fehler Then Me.Saved = True
End Sub

Gruß Matthias
Anzeige
AW: MakroSicherung
17.08.2006 23:51:53
Daniel
Hallo,
prinzipiell ist es schon gut, daß man Makros anderen nicht gegen deren Willen aufzwingen kann.
Um dein Ziel zu erreichen würde ich die sensiblen Sheets beim Schließen der Datei verstecken, also mit dem "Workbook_before_Close event"
Öffnet der andere User die Datei mit Makros, werden sie natürlich mit dem Workbook_open_Event wieder sichtbar gemacht.
Wenn der User allerdings die Makros nicht aktiviert, bleiben die Sheets versteckt. Sichtbar ist nur das Sheet mit einer entsprechenden Hinweismeldung.
Der User müßte erst in den Makro-Editor wechseln und dort die Sheets wieder einblenden.
Das sollte für die meisten als Abschreckung ausreichen (ist natürlich Branchen-Abhänging)
Gruß, Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige