Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Per Macro VBA Projekt für Anzeige sperren

549 views
Skip to first unread message

Gerhard Maul

unread,
Sep 2, 2002, 9:13:30 AM9/2/02
to
Hallo,
ich möchte in einem VBA Projekt (Excel 2000) die folgenden Tätigkeiten
automatisieren (Makro):
Das Kennwort in den Eigenschaften von VBA Projekt (Projekt für Anzeige
sperren) eingeben,
einen Makro verändern und das Projekt schließen.
Bisher habe ich einen Stop eingebaut, das Kennwort manuell eingegeben und
den Makro weiter laufen lassen. Das ist aber bei 200 Dateien etwas lästig.

Vielleicht kann mir jemand aus der NG weiter helfen.
Dank im Voraus
Gerhard


stefan onken

unread,
Sep 2, 2002, 10:06:37 AM9/2/02
to
hallo Gerhard,
aus einem Threat vom 28.3.02, Projekt-Passwort per VBA
aufheben:

[...]
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-----

>.
>

Gerhard Maul

unread,
Sep 3, 2002, 3:16:41 AM9/3/02
to
Hallo Stefan,
vielen Dank für die Info auch wenn sich mein Problem nicht so lösen lässt
wie gehofft.
Nach diesem Hinweis brauche ich wenigstens nicht weiter grübeln. Wenn man
relativ wenig Ahnung von VBA hat denkt man gleich man ist ja nur zu blöd zum
Finden. Der Tipp mit SendKey ist eine gute Idee.
Danke

"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

0 new messages