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

Forumthread: VBA-Projektschutz im Modul aufheben und setzten

VBA-Projektschutz im Modul aufheben und setzten
Bernd
ich habe mein VBA-Projekt geschützt und möchte jetzt vorhandene Module austauschen. Dazu muss der Schutz aufgehoben werden.
Wie kann ich per Modul den VBA-Projektschutz aufheben und wieder setzten ?
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA-Projektschutz im Modul aufheben und setzten
Bernd
Hallo
war gerade ein bischen generft - soll aber keine Entschuldigung sein !
Ich freue mich über die kompetenten Antworten und guten, schnellen Antworten.
Im Formum habe ich bereits geschaut. Es geht mir nicht um den Modultausch sondern um das setzten und entfernen des VBA-Projektschutzes.
Danke für Eure Hilfe.
Gruß Bernd
Anzeige
AW: VBA-Projektschutz im Modul aufheben und setzten
Hajo_Zi
Hallo Bernd
die Sache meinte ich auch. Die hat Nepumuk schon paarmal erklärt.


AW: VBA-Projektschutz im Modul aufheben und setzten
Bernd
Hallo Hajo,
Danke für Dein Interesse an meinem Problem.
nach intensivem Studium in der Excel Recherche habe ich folgende Lösungen ausprobiert:
DelLockVBAProject bzw. UnlockVBAProject vor dem Import eines neuen Moduls, dass dann dynamisch ausgeführt werden soll.
Das Problem ist, ich bekomme den bestehenden Schutz nicht weg. meine Fehlermeldung: 50289 - Die Operation kann nicht durchgeführt werden, solange das Projekt geschützt ist.
Dieses Problem war bereits in der Referenz geschildert aber nicht gelöst worden.
Gibt es eine Lösung ?
Gruß Bernd
Sub UpdateVersion()
DelLockVBAProject
ActiveWorkbook.VBProject.VBComponents.Import ("C:\ExcelVersionsupdate.bas")
Call Updatestart
With Workbooks(ActiveWorkbook.Name).VBProject
.VBComponents.Remove .VBComponents("Versionsupdate")
End With
End Sub

Private Sub Updatestart()
Call Versionsupdate.ExcelUpdate
End Sub



Private Sub VBEEINAUS()
With Application.VBE.MainWindow
.Visible = Not .Visible
End With
End Sub

Sub DelLockVBAProject()
SendKeys _
"%{F11}%xi+{TAB}{RIGHT}{TAB} {TAB}" & _
"{BACKSPACE}{TAB}{BACKSPACE}{TAB}{ENTER}%{q}"
End Sub
Sub LockVBAProject()
SendKeys _
"%{F11}%xi+{TAB}{RIGHT}{TAB} {TAB}" & _
"Passwort" & "{TAB}" & "Passwort" & "{TAB}{ENTER}%{q}"
End Sub
Sub UnlockVBAProject()
With Application
.ScreenUpdating = False
.SendKeys "%{F11}"
.SendKeys "%xi"
.SendKeys "Passwort"
.SendKeys "{enter}"
.SendKeys "{esc}"
.SendKeys "%{F11}"
.ScreenUpdating = True
End With
DoEvents
End Sub
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA-Projektschutz im Modul aufheben und setzen


Schritt-für-Schritt-Anleitung

Um den VBA-Projektschutz aufzuheben und wieder zu setzen, kannst du die folgenden Schritte ausführen:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu starten.

  2. Modul hinzufügen: Wenn du ein neues Modul importieren möchtest, musst du den Projektschutz zuerst aufheben. Das kannst du mit dem DelLockVBAProject-Sub durchführen.

  3. Schutz aufheben: Verwende den folgenden Code, um den Schutz aufzuheben:

    Sub DelLockVBAProject()
       SendKeys "%{F11}%xi+{TAB}{RIGHT}{TAB} {TAB}" & _
                "{BACKSPACE}{TAB}{BACKSPACE}{TAB}{ENTER}%{q}"
    End Sub
  4. Neues Modul importieren: Nach dem Aufheben des Schutzes kannst du dein neues Modul importieren:

    ActiveWorkbook.VBProject.VBComponents.Import ("C:\ExcelVersionsupdate.bas")
  5. VBA-Projekt wieder schützen: Um den Schutz wieder zu aktivieren, kannst du den LockVBAProject-Sub verwenden:

    Sub LockVBAProject()
       SendKeys "%{F11}%xi+{TAB}{RIGHT}{TAB} {TAB}" & _
                "Passwort" & "{TAB}" & "Passwort" & _
                "{TAB}{ENTER}%{q}"
    End Sub

Häufige Fehler und Lösungen

  • Fehler 50289: "Die Operation kann nicht durchgeführt werden, solange das Projekt geschützt ist."

    • Lösung: Stelle sicher, dass der Schutz wirklich aufgehoben wurde, bevor du versuchst, Änderungen vorzunehmen. Überprüfe die Ausführung des DelLockVBAProject-Codes.
  • SendKeys funktioniert nicht:

    • Lösung: Es kann sein, dass dein Excel im Hintergrund läuft oder ein anderer Dialog geöffnet ist, der die SendKeys-Befehle blockiert. Stelle sicher, dass der Fokus auf dem VBA-Editor liegt, wenn du den Code ausführst.

Alternative Methoden

Wenn du den Excel-Schutz aufheben möchtest, ohne ein Passwort zu verwenden, kannst du alternative Methoden in Betracht ziehen, wie:

  • VBA-Projekt mit einem Tool entschlüsseln: Es gibt Tools von Drittanbietern, die dir helfen können, den VBA-Projektschutz zu entfernen. Bitte beachte jedoch, dass solche Tools möglicherweise gegen die Nutzungsbedingungen von Microsoft verstoßen.

  • Direktes Bearbeiten der Excel-Datei: Eine weniger empfohlene Methode ist, die Excel-Datei in einem Hex-Editor zu öffnen. Dies erfordert jedoch technisches Wissen und ist riskant.


Praktische Beispiele

Hier ist ein praktisches Beispiel für das Aufheben des VBA-Projektschutzes:

Sub UpdateProject()
    Call DelLockVBAProject
    ActiveWorkbook.VBProject.VBComponents.Import ("C:\NeuesModul.bas")
    Call LockVBAProject
End Sub

In diesem Beispiel wird der Projektschutz aufgehoben, ein neues Modul importiert und anschließend der Schutz wieder gesetzt.


Tipps für Profis

  • Sichere deine Arbeit: Bevor du den Schutz aufhebst, stelle sicher, dass du eine Sicherungskopie deiner Excel-Datei hast.
  • Vermeide SendKeys: Wo immer möglich, vermeide die Verwendung von SendKeys, da es unzuverlässig sein kann. Überlege, stattdessen die API-Methoden von VBA zu nutzen.
  • Passwortverwaltung: Verwende ein sicheres Passwort für deinen VBA-Projektschutz, um unerwünschten Zugriff zu verhindern.

FAQ: Häufige Fragen

1. Wie kann ich den Excel-Blattschutz aufheben ohne Passwort?
Es gibt spezielle Tools, die dir helfen können, den Blattschutz zu entfernen, aber es ist wichtig, die Nutzungsbedingungen zu beachten.

2. Was ist der Unterschied zwischen VBA-Projektschutz und Excel-Blattschutz?
Der VBA-Projektschutz schützt den Code in den Modulen, während der Excel-Blattschutz die Bearbeitung von Zellen und Blättern in der Excel-Datei einschränkt.

3. Kann ich den Projektschutz auch ohne VBA aufheben?
Nein, um den VBA-Projektschutz aufzuheben, musst du VBA verwenden oder auf Tools von Drittanbietern zurückgreifen.

4. Gibt es eine Möglichkeit, den VBA-Projektschutz zurückzusetzen?
Ja, du kannst den Projektschutz jederzeit mit dem entsprechenden Passwort wieder aktivieren, nachdem du Änderungen vorgenommen hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige