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

Forumthread: Projektschutz setzen / aufheben über VBA

Projektschutz setzen / aufheben über VBA
17.08.2005 15:32:03
Torsten
Hallo beisammen,
ich habe die Makros meiner Datei über Extras-Eigenschaften von VBAProjekt mit einem Kennwort ("TEST") geschützt. Über eine zweite Datei möchte ich über einen VBA-Code aber diese Makros bearbeiten (Code löschen, Module löschen). Wie kann ich das über VBA realsieren? Also zunächst diesen Projektschutz aufheben und nach dem Bearbeiten wieder setzen?
Vielen Dank für Eure Hilfe.
Gruß
Torsten
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Projektschutz setzen / aufheben über VBA
17.08.2005 16:32:11
Nepumuk
Hi Torsten,
gesetzt hast du ihn ja schon. Zum aufheben muss sich aber das Makro, welches das macht, in der Mappe befinden, in welcher der Schutz gesetzt ist. Sonst funktioniert das nicht!!! Du kannst ja das Makro mit der Run - Methode aus einer anderen Mappe heraus aufrufen.
Option Explicit
Option Private Module

Private Sub setzen() 'VBA-Kennwort setzen
    SendKeys "%{F11}%xi{TAB 9}{RIGHT}{tab}a{tab}" & "Dein Kennwort" & _
        "{TAB}" & "Dein Kennwort" & "{tab}{enter}%q"
End Sub

Private Sub aufheben() 'VBA-Kennwort aufheben
    SendKeys "%{F11}%xi{TAB 9}" & "Dein Kennwort" & "{tab}{enter 2}%q"
End Sub

Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
AW: Projektschutz setzen / aufheben über VBA
17.08.2005 16:42:48
Torsten
Hallo Nepumuk,
vieln Dank für Deine Rückmeldung.
Kannst Du mir hier ein bißchen unter die Arme greifen? Ich kenn' mich ein wenig mit VBA aus, aber dies hier ist mir nicht bekannt (siehe mein Level).
1.) Wie muß der Code aussehen, mit dem ich über die Run-Methode den Code zum Aufheben/Setzen aufrufe (wo ich ihn platzieren müßte weiß ich, glaub' ich jedenfalls)und
2.) Wo muß der Code zum Aufheben/Setzen genau hin in der Datei, die es zu bearbeiten gilt?
Vielen Dank im voraus.
Gruß
Torsten
Anzeige
AW: Projektschutz setzen / aufheben über VBA
17.08.2005 16:57:27
Nepumuk
Hi Torsten,
1. In einer Mappe wird die Mappe "Makrohandling_Projektschutz.xls" in der das Projekt geschützt ist geöffnet und der Schutz aufgehoben:
Option Explicit

Public Sub test()
    Application.EnableEvents = False 'Automakros ausschalten
    Workbooks.Open "D:\Eigene Dateien\Eigene Tabellen\Makrohandling_Projektschutz.xls"
    Application.EnableEvents = True 'Automakros einschalten
    Application.Run "Makrohandling_Projektschutz.xls!aufheben"
End Sub

2. Ja, richtig. Wobei beim aufheben das Kennwort nicht gelöscht wird. Wenn du nach dem bearbeiten der Makros die Mappe speicherst und schließt, dann ist der Schutz automatisch wieder wirksam.
3. Egal welches Kennwort du verwendest, ich benötige 10 - 15 Sekunden um es zu knacken. Überleg dir also ob es überhaupt Sinn macht. Ich schützt kein Projekt von mir, da das Kennwort keinerlei Schutz bietet.
Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
AW: erledigt - mT
18.08.2005 09:17:30
Torsten
Hallo Nepumuk,
so wie Du das beschreibst, ist es wohl wirklich nicht der Mühe wert. Ich werde den Projektschutz dann nicht setzen. Ich wollte nur vermeiden, daß der User - der mal irgendwas von Alt-F11 gehört hat - mal reinschaut und versehentlich etwas verändert.
Ich bin allerdings sicher, daß keiner "meiner" User den Code knacken könnte; ich denke sowas können nur Experten wie Du. Wie dem auch sei, vielen Dank für Deine Erklärungen.
Bis bald und
Gruß
Torsten
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Projektschutz in Excel über VBA aufheben und setzen


Schritt-für-Schritt-Anleitung

Um den Projektschutz in Excel über VBA aufzuheben und wieder zu setzen, folge diesen Schritten:

  1. Öffne die Excel-Datei, die das geschützte Projekt enthält.

  2. Erstelle ein neues Modul in einer anderen Excel-Datei, um den VBA-Code zu schreiben.

  3. Füge den folgenden Code ein, um den Schutz aufzuheben:

    Option Explicit
    
    Public Sub test()
       Application.EnableEvents = False ' Automakros ausschalten
       Workbooks.Open "D:\Eigene Dateien\Eigene Tabellen\Makrohandling_Projektschutz.xls"
       Application.EnableEvents = True ' Automakros einschalten
       Application.Run "Makrohandling_Projektschutz.xls!aufheben"
    End Sub
  4. Füge den Code zum Aufheben des Schutzes in die geschützte Datei ein:

    Option Explicit
    
    Private Sub aufheben() ' VBA-Kennwort aufheben
       SendKeys "%{F11}%xi{TAB 9}" & "Dein Kennwort" & "{tab}{enter 2}%q"
    End Sub
  5. Speichere und schließe die geschützte Datei. Der Projektschutz wird beim Schließen automatisch wieder aktiviert.


Häufige Fehler und Lösungen

  • Fehler: Das Makro zum Aufheben des Schutzes funktioniert nicht.

    • Lösung: Stelle sicher, dass das Makro in der geschützten Datei platziert ist. Der Code muss in der Datei sein, die den Schutz hat.
  • Fehler: Das Kennwort wird nicht akzeptiert.

    • Lösung: Vergewissere dich, dass du das richtige Kennwort verwendest. Falls du das Kennwort vergessen hast, kann der Schutz möglicherweise nicht aufgehoben werden.

Alternative Methoden

Wenn du den Projektschutz auf andere Weise aufheben möchtest, kannst du auch folgende Methoden probieren:

  • Excel VBA Passwort entfernen: Verwende spezielle Tools oder Skripte, die dafür entwickelt wurden, um den VBA-Projektschutz zu umgehen. Beachte jedoch, dass dies gegen die Nutzungsbedingungen von Microsoft verstoßen kann.

  • Word VBA Passwort entfernen: Sollte dein Projekt in Word sein, kannst du ähnliche Techniken verwenden, um den Schutz aufzuheben.


Praktische Beispiele

Ein praktisches Beispiel könnte sein, wenn du ein Makro hast, das regelmäßig aktualisiert werden muss und du den Schutz aufheben musst, um Änderungen vorzunehmen. Hier ist ein Beispiel, wie du den Schutz für eine Woche aufheben und danach automatisch wieder aktivieren kannst:

Public Sub TemporärerSchutz()
    Call test ' Schutz aufheben
    ' Hier kannst du deine Änderungen vornehmen
    ' ...
    ' Schutz wieder setzen
    Call setzen ' Schutz wieder aktivieren
End Sub

Private Sub setzen() ' VBA-Kennwort setzen
    SendKeys "%{F11}%xi{TAB 9}{RIGHT}{tab}a{tab}" & "Dein Kennwort" & "{TAB}" & "Dein Kennwort" & "{tab}{enter}%q"
End Sub

Tipps für Profis

  • Sichere deine Codes: Halte immer eine Sicherung deiner VBA-Codes und Excel-Dateien bereit, bevor du Änderungen vornimmst.

  • Verwende starke Kennwörter: Wenn du mit Projektschutz arbeitest, solltest du starke und komplexe Kennwörter verwenden, um unbefugten Zugriff zu verhindern.

  • Dokumentiere deine Schritte: Halte fest, welche Änderungen du in deinem Projekt vornimmst, um später nachvollziehen zu können, was gemacht wurde.


FAQ: Häufige Fragen

1. Wie kann ich ein vergessenes VBA-Projekt-Kennwort entfernen? Es gibt spezielle Tools, die dir helfen können, das Kennwort zu entfernen. Beachte jedoch die rechtlichen Aspekte.

2. Kann ich den Projektschutz auch ohne VBA aufheben? Ja, es gibt manuelle Methoden, um den Schutz aufzuheben, aber sie sind oft zeitaufwendig und weniger effektiv.

3. Was passiert, wenn ich das Kennwort falsch eingebe? Wenn das Kennwort falsch eingegeben wird, kann der Schutz nicht aufgehoben werden. Achte darauf, dass du das richtige Kennwort verwendest.

4. Wie kann ich den Excel VBA Kennwortschutz aufheben? Verwende ein Makro, um den Schutz aufzuheben, oder greife auf Tools zurück, die speziell für diesen Zweck entwickelt wurden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige