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

Kennwort-geschütztes Makro per Makro ändern

67 views
Skip to first unread message

Barbara Rösel

unread,
Jan 23, 2007, 9:08:52 AM1/23/07
to
Hallo,

ich habe eine Reihe von Excel-Dateien (Office XP), jede enthält Funktionen,
die per Makro gesteuert werden. Der Zugriff auf das Makro ist mit einem
Passwort geschützt. Nun müssen Zeilen ausgetauscht werden, dies soll
ebenfalls über ein Makro geschehen, etwa so:

Sub Korrektur()

Workbooks.Open Filename:="D:\Test.xls"

With ActiveWorkbook.VBProject.VBComponents("DieseArbeitsmappe").CodeModule
.deletelines 3
.InsertLines 10, "xxxxxxxxxx"
End With

ActiveWorkbook.Close savechanges:=True

End Sub

Der Knackpunkt ist die Eingabe des Passworts: wie füge ich dies in den Code
ein?

Vielen Dank für eure Hilfe,
Barbara

Michael Paetz

unread,
Jan 23, 2007, 1:28:20 PM1/23/07
to
Hallo Babara
ich habe das selbe problem, siehe weiter unten "Ausführen verhindern". dort
konnte Melanie mir helfen die autoprozeduren zu stoppen. Danach scheitert es
aber an der passworteingabe, inzwischen bin ich über die SENDKEYS Anweisung
soweit, dass ich das Fenster zur Passworteingabe aufgerufen bekomme, das
Passwort wird aber leider nicht eingegeben.
Hier der Code der bis zur Passworteingabe funktioniert:
Application.EnableEvents = False
SendKeys ("^r")
SendKeys ("{up 12}") ' die Zahl der Schritte nach oben im Projektfenster
abzählen
SendKeys ("{enter}")
ChDir "G:\Eigene Dateien\VBA"
Workbooks.Open Filename:="G:\Eigene Dateien\VBA\EurokontoV3.xls"

weitere Sendkeys .anweisungen werden nicht ausgeführt oder tauchen an nicht
gewünschter Stelle auf, wie Melanie beschreibt.
In einem anderem Forum habe ich folgendes gefunden:

Der direkte Zugriff auf die Eigenschaften eines VBA-Projketes
ist in diesem Fall leider nicht möglich.
Hier ist der Sendkeys-Befehl sehr hilfreich.
Alle nötigen Shortcuts werden ausgeführt und
das Passwort 'test' vergeben:

Sub ProjektPasswort() Passwort = "test"
Application.VBE.MainWindow.Visible = True SendKeys ("%x") SendKeys
("s") SendKeys ("^{PGDN}") SendKeys ("%a") SendKeys ("k")
SendKeys ("+{end}") SendKeys (Passwort) SendKeys ("{Tab}") SendKeys
(Passwort) SendKeys ("{Enter}")End SubLeider funktioniert es bei mir auch
nicht, vielleicht ja bei dirGrussMichael"Barbara Rösel"
<Barba...@discussions.microsoft.com> schrieb im Newsbeitrag
news:4EAA9635-19FD-4FAE...@microsoft.com...

stefan onken

unread,
Jan 23, 2007, 1:32:28 PM1/23/07
to
hallo Barbara,
soweit mir bekannt, muss das mit SendKeys gemacht werden, Codebsp (für
Excel XP getestet):
http://tinyurl.com/39fnp5

Gruß
stefan

Michael Paetz

unread,
Jan 23, 2007, 2:55:00 PM1/23/07
to
Hallo
nach einigem probieren und nachlesen in dem link von stefan onken
funktioniert es bei mir:
Application.EnableEvents = False ' Autoprozedur ausschalten
Passwort = "test" ' Passwort
SendKeys ("^r") ' springt in das Projektfenster
SendKeys ("{up 11}") 'markiert die entsprechende arbeitsmappe und öffnet das
Passwortfenster
SendKeys (Passwort) ' gibt das passwort ein
SendKeys ("{enter}") ' bestätigt das passwort
ChDir "G:\Eigene Dateien\VBA" 'öffnen der eigentlichen datei

Workbooks.Open Filename:="G:\Eigene Dateien\VBA\EurokontoV3.xls"
Application.EnableEvents = True

Das Problem scheint zu sein dass nicht sicher ist wann die Sendkeys
ausgeführt werden, der code funktioniert nicht wenn die Sendkeys nach dem
Öffnen der datei erfolgen. Hier scheint nur ausprobieren zu helfen und, wie
Melanie Breden schreibt, auf die versionen achten.

gruss
michael


"Barbara Rösel" <Barba...@discussions.microsoft.com> schrieb im
Newsbeitrag news:4EAA9635-19FD-4FAE...@microsoft.com...

0 new messages