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

leseschutz ja, aber für makro nix passwordab

leseschutz ja, aber für makro nix passwordab
16.05.2003 10:57:32
axel.meyer
hallo freunde,

ich habe mir ein nettes programm gebaut: es ist eine stechuhr-userform. ich habe es so weit hochgezüchtet, daß der nutzer nur "angekommen", "wieder weg" und "zeitkonto" (und natürlich "abbruch") drücken kann, also nur die userform wahrnimmt, aber excel selbst nicht sieht. selbst wenn der nutzer "zeitkonto" drückt, wird der relevante teil aus dem excel-blatt als bild-datei aus excel exportiert in word eingefügt und excel geschlossen. was die manipulation verhindert.

es klappt alles toll. nur: der nutzer muß beim start der datei ja "makros akivieren" wählen, damit mein makro über "workbook_open" startet und jeglicher zugriff (und auch sicht!) auf blätter etc über "application.visible = false" unterdrückt wird. wählt er "makro deaktivieren", ist meine spielerei ausgehebelt, der user kann die excel-datei sehen und sogar in die makros hineingucken.

wenn ich die datei per password gegen öffnen schütze, dann ist natürlich auch die ausführung des makros an das codewort gebunden. ich drehe mich im kreis.

habt ihr eine gute idee?

gruß, axel

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: leseschutz ja, aber für makro nix passwordab
16.05.2003 13:48:29
Nepumuk

Hallo Axel,
leg ein neues Tabellenblatt an auf dem z.B. steht: "Ohne aktiven Makros kein Zugriff". Das Blatt muss das erste in der Mappe sein. Dann folgenden Code in das Klassenmodul "Diese Arbeitmappe":
Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If SaveAsUI Then Cancel = TrueExit Sub
    ausblenden
    Application.EnableEvents = False
    ThisWorkbook.Save
    Application.EnableEvents = True
    einblenden
End Sub

Private Sub Workbook_Open()
    einblenden
End Sub

folgenden Code in ein "normales" Modul:

Option Explicit

Public Sub einblenden()
    Dim index As Integer
    Application.ScreenUpdating = False
    ThisWorkbook.Unprotect "Dein Kennwort"
    For index = 2 To Worksheets.Count
        Sheets(index).Visible = -1
    Next
    Sheets(1).Visible = 2
    ThisWorkbook.Protect "Dein Kennwort"
    Application.ScreenUpdating = True
End Sub

Public Sub ausblenden()
    Dim index As Integer
    Application.ScreenUpdating = False
    ThisWorkbook.Unprotect "Dein Kennwort"
    Sheets(1).Visible = -1
    For index = 2 To Worksheets.Count
        Sheets(index).Visible = 2
    Next
    ThisWorkbook.Protect "Dein Kennwort"
    Application.ScreenUpdating = True
End Sub

     Code eingefügt mit Syntaxhighlighter 1.14

Gruß
Nepumuk


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige