Vielleicht kann mir jemand aus der NG weiter helfen.
Dank im Voraus
Gerhard
[...]
Ich glaube nicht, dass sich der Passwort-Schutz mit
konventionellen
Mitteln aufheben lässt. "Protection" ist eine Eigenschaft
des Objektes
"VBProject" und kennt nur zwei Stati: vbext_pp_locked und
vbext_pp_none.
Parameter können nicht übergeben werden. Zudem ist die
Eigenschaft
schreibgeschützt, lässt sich somit per Code nicht ändern.
Ähnliche
Eigenschaften oder Objektmethoden existieren nicht im
Objektmodell
der VBIDE.
Ich nehme an, dass der Passwort-Schutz ein integrierter
Mechanismus
des VBE-Editors ist. Als einzige Möglichkeit (mit VBA)
sehe ich nur
die Simulation eines Benutzers, der das Projekt öffnet und
im Kennwort-
Dialog das geforderte Passwort eingibt. Bekanntlich ist
bei einem
geschützten Projekt in der Baumansicht des Projekt-
Explorers nur ein
Zweig sichtbar, nämlich derjenige des Projektes selbst (in
Fettschrift).
Da es über Menübefehle und Symbolleisten-Schaltflächen
tatsächlich
keine Möglichkeit gibt, das Projekt zu öffnen bzw. den
Kennwort-
Dialog einzublenden, wird es schwierig, einen Benutzer zu
simulieren.
Der Kennwort-Dialog erscheint nur, wenn auf den Projekt-
Zweig ein
Doppelklick ausgeführt oder die Taste Enter, Plus, Stern
oder
Pfeil Nach Rechts gedrückt wird.
Eine andere Möglichkeit zum Öffnen des Kennwort-Dialoges
führt über
den Menübefehl "(Projekt)-Eigenschaften..." im
Menü "Extras". Hier
ist der VBA-Code zum Öffnen der Projekteigenschaften bzw.
zum
Einblenden des Kennwort-Dialoges:
Public Sub ProjektEigenschaftenÖffnen()
Dim appExcel As Application
Dim vbeExcel As VBE
Dim cbrExcel As CommandBar
Dim cbcExcel As CommandBarControl
Set appExcel = Application
Set vbeExcel = appExcel.VBE
Set cbrExcel = vbeExcel.CommandBars("Menüleiste")
Set cbcExcel = cbrExcel.Controls("E&xtras")
Set cbcExcel = cbcExcel.Controls("VBAProject-
Eigen&schaften...")
' Set cbcExcel = cbcExcel.Controls(5)
cbcExcel.Execute
End Sub
Wenn das Projekt nicht "VBAProject" heisst, muss die
drittletzte Codezeile
mit dem Projektnamen angepasst werden. Alternativ kann die
Codezeile
mit ...Controls(5) verwendet werden.
Wenn Du es jetzt noch schaffst, mittels SendKeys oder
dergleichen das
Passwort in den Dialog einzufüllen, wäre das Problem
eigentlich gelöst.
Gruss
Philipp
[...]
Dim vbeExcel as VBE führt zu einer Fehlermeldung, ohne As
VBE öffnet der Dialog. Für die SendKeys müßte es dann
Strg+Tab, Tab , Passwort, Tab, Passwort, Return sein.
Viel Spaß
stefan
>-----Originalnachricht-----
>.
>
"stefan onken" <steo...@web.de> wrote in message
news:9ea401c25289$f3987f90$2ae2...@phx.gbl...
hallo Gerhard,
aus einem Threat vom 28.3.02, Projekt-Passwort per VBA
aufheben:
...
Dim vbeExcel as VBE führt zu einer Fehlermeldung, ohne As