Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Paßwort nur an einer Stelle

Paßwort nur an einer Stelle
S.Andrick
Hallo ich,
habe folgendes Problem:
Um bei einer Excel-Datei in einem Schwung alle Blätter zu schützen oder den Blattschutz auf zu heben, hat mir mal jemand ein VBA-Code geschrieben (leider weiß ich nicht mehr wer, steht auch nix im VBA-Code).
Hierbei kann ich über ein Sondermenü die Funktionen ansteuern.
der Code für Schutz aufheben sieht wie folgt aus:
----------------------------------------------------------------------------------------------------------------------
Sub SchutzAufheben()
Dim DieseMappe, BlattZahl, Datum As String
Dim I As Integer
DieseMappe = Chr(65) + Chr(65) + Chr(65) + Chr(65) + Chr(65)
Datum = Chr(80) + Chr(97) + Chr(115) + Chr(115) + Chr(119) + Chr(111) + Chr(114) + Chr(116)
BlattZahl = InputBox("Bitte geben Sie das gültige " & Datum & " ein")
If BlattZahl  DieseMappe Then
MsgBox ("falsches " & Datum)
Exit Sub
End If
Application.ScreenUpdating = False           ' Bildschirmaktualisierung aus
For I = 1 To Worksheets.Count
Sheets(I).Unprotect BlattZahl
Next I
Application.ScreenUpdating = True            ' Bildschirmaktualisierung ein
MsgBox "Alle Blätter zur Bearbeitung jetzt frei"
End Sub
----------------------------------------------------------------------------------------------------------------------
Ein bischen tricki (ist auch ik so). Damit das Wort "Passwort" nicht geschrieben wird wird dies mit Umweg über "Datum" und ASCI-Code gemacht. Das eigendliche Passwort ist hinter "DieseMappe" mit ASCI-Code verschlüsselt (in diesem Fall "aaaaa" :-) ).
Mittlerweile ist die Excel-Datei gewachsen und weitere Funktionen dazu gekommen (VBA-Code habe ich teilweise geändert und teilweise aus Foren). Ich benötige bei folgenden Funktionen eine Passwortabfrage:
- alle Blätter schützen (über Sondermenü)
- Blattschutz bei allen Blätter aufheben (über Sondermenü)
- beim speichern alle Blätter schützen
(ohne Rückingo über Messeg-Box)
- beim schließen der Excel-Datei alle Blätter schützen
(ohne Rückingo über Messeg-Box)
- Abfrage ob Makros aktiv, sonst wird Datei nicht ausgeführt
Dass heißt, dass Passwort ist mittlerweile ca. 10x in dem ganzen Code eingebunden, mal über die tolle ASCI-Verschlüssellung, mal über
ActiveWorkbook.Unprotect ("aaaaa")
ActiveWorkbook.Protect ("aaaaa")
Und jetzt das Problem:
Wenn ich das Passwort ändern sollte, muß ich den gesamten Code durcharbeiten und an alle 10 Stellen ändern (in der Hoffnung, keinen übersehen zu haben).
Ich möchte nur an einer Stelle im VBA-Code das Passwort hinterlegen, nach Möglichkeit auch über die ASCI-Verschlüsselung.
An den anderen 9 Stellen möchte ich einen Bezug auf diese eine Passwort herstellen.
Geht das? Wenn ja wie?
Über eine Hilfe wäre ich dankbar.
Gruß
S.Andrick

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Paßwort nur an einer Stelle
15.12.2009 12:05:40
Uduuh
Hallo,
in einem allg. Modul:
Public strPW As String
in DieseArbeitsmappe:
Private Sub Workbook_Open()
strPW = Chr(65) + Chr(65) + Chr(65) + Chr(65) + Chr(65)
End Sub

Und dann setzt du überall, wo das PW erforderlich ist, strPW ein.
Gruß aus’m Pott
Udo

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige