Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
772to776
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
772to776
772to776
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schützen mit VBProject, Bitte !!!

Schützen mit VBProject, Bitte !!!
12.06.2006 09:41:01
Walter
Guten Morgen Zusammen,
habe am 8.6.06 schon mal mich gemeldet, leider bisher ohne Erfolg, obwohl
sich Hoffi und Andre schon mal gekümmert haben.
Ich habe leider keinen " blasen Schimmer ".
Es wird per Makro von mir eine neue Mappe erstellt, in dieser neuen Mappe möchte ich das:

Sub Workbook_Open()
in "DieseArbeitsmappe" erstellt wird und darin soll der VBProject Schutz
unter Project Eigenschaften erstellt werden.
Das Passwort soll mal "ww" sein.
Ich muß das machen da die Datei ins Netzwerk verschickt wird und sonst die Anwender die Makros sehen kann, das möchte ich vermeiden.
Hoffi, hatte mir das mal geschickt, leider nicht geklappt:

Sub Workbook_Open()
Dim Password As String
Password = "test"
Application.VBE.MainWindow.Visible = True
SendKeys ("%x")
SendKeys ("s")
SendKeys ("^{PGDN}")
SendKeys ("%a")
SendKeys ("k")
SendKeys ("+{end}")
SendKeys (Password)
SendKeys ("{Tab}")
SendKeys (Password)
SendKeys ("{Enter}")
End Sub

Bitte helfen, Danke im voraus,
mfg Walter

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schützen mit VBProject, Bitte !!!
12.06.2006 10:56:39
Hoffi
Hallo Walter,
probier mal diesen Code hier, hab ich getestet unter Office 2003.

Sub VBA_PW()
Dim Password As String
Application.DisplayAlerts = False
Password = "TEST0815"
SendKeys "%{F11}"
SendKeys "%xi{TAB 9}{RIGHT}{TAB} {TAB}"
SendKeys Password
SendKeys "{TAB}"
SendKeys Password
SendKeys "{TAB}{ENTER}"
SendKeys "%Dh"
Application.DisplayAlerts = True
End Sub

Grüße
Hoffi
Hallo Hoffi ! geht doch Super
12.06.2006 11:32:47
Walter
Hallo Hoffi,
habe das Makro in das "Auto_Close" eingesetzt, funktioniert Super.
Ich habe folgendes Makro, für das erstellen des Makros in die neue Mappe, funktioniert
ebenfalls, hier das Makro:
Sub OpenProzedurAnlegen()
Dim wkb As Workbook
Dim sFile As String
Application.ScreenUpdating = False
'sFile = Application.Path & "\testwkb.xls"
sFile = "C:\testwkb.xls"
Set wkb = Workbooks.Add(1)
'------------ww------------------------------------
Dim intIndex As Integer, bolgefunden As Boolean
'---------------------------------------------------
With wkb.VBProject.VBComponents(wkb.CodeName).CodeModule
.InsertLines 3, "

Private Sub Workbook_Open()"
.InsertLines 4, "  Msgbox ""Bin da!   noch etwas..."""
.InsertLines 8, "End Sub
"
End With
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs sFile
Application.DisplayAlerts = True
ActiveWorkbook.Close savechanges:=False
' Workbooks.Open sFile
Application.ScreenUpdating = True
End Sub

Das Ergebnis:

Private Sub Workbook_Open()
MsgBox "Bin da!   noch etwas..."
End Sub

Wo binde ich jetzt dein Makro rein???
Bitte hilf mir noch einmal,
gruß Walter
Anzeige
AW: Hallo Hoffi ! geht doch Super
12.06.2006 11:40:19
Hoffi
Hallo Walter,
entweder vorm schließen der Datei sFile, also zwischen:
Application.DisplayAlerts = False
'hier hin
ActiveWorkbook.SaveAs sFile
oder Du schreibst es ins Open Ereignis, also anstatt Msgbox "Bin da usw."
Grüße
Hoffi
dazwischen geht nicht aber
12.06.2006 12:09:15
Walter
Hallo Hoffi,
dazwischen geht nicht steht nicht in Auto_Open, so hatte ich beim Aufruf eine
Fehlermeldung "Falsch" im Makro Open:
With wkb.VBProject.VBComponents(wkb.CodeName).CodeModule
.InsertLines 3, "Private sub Workbook_Open()"
.InsertLines 4, Password = "ww"
.InsertLines 5, SendKeys "%xi{TAB 9}{RIGHT}{TAB} {TAB}"
.InsertLines 6, SendKeys Password
.InsertLines 7, SendKeys "{TAB}"
.InsertLines 8, SendKeys Password
.InsertLines 9, SendKeys "{TAB}{ENTER}"
.InsertLines 10, SendKeys "%Dh"
.InsertLines 11, " Msgbox ""Bin da! noch etwas..."""
erscheint Syntaxfehler...
gruß Walter
Anzeige
AW: dazwischen geht nicht aber
12.06.2006 12:23:27
Hoffi
Hallo Walter,
Du hast das Dim vor Password vergessen, aber, schreibs doch vorm schließen der sFile...
ist doch einfacher...
Grüße
Hoffi
Wieso klappt das nicht...
12.06.2006 12:36:55
Walter
Hallo Hoffi,
habe es 1x vorm Schließen gesetzt nichts, dann nochmals versucht so das
es ins Makro geschrieben wird, habe immer Syntaxfehler
bitte schau noch mal...
gruß walter
AW: Wieso klappt das nicht...
12.06.2006 13:52:02
Hoffi
Hallo Walter,
bei mir klappt Dein Code auch nicht, bekomme den Fehler das der Zugriff nicht sicher ist... Naja!
Ha mir was anderes überlegt, das klappen sollte. lege in deiner ersten Mappe noch ein Modul an und füge diesen Code da rein:

Sub VBA_PW()
SendKeys "%{F11}%XI{TAB 9}{RIGHT}{tab} " & _
"{tab}ww{TAB}ww{tab}{enter}%DH" 'etwas verkürzt und ww ist Dein Passwort
End Sub

dann ändere in Deinem Code die Zeile wo du die MsgBox aufrufst(das hatte ja bei Dir funktioniert) so ab, das Du dort das Makro VBA_PW aufrufts. also so:
.InsertLines 4, " Call VBA_PW" 'eventuell fehlen hier noch "" musst Du testen..
Dann, exportierst Du in Deinem Makro das Modul mit dem VBA_PW Makro und importierst dies wieder in die neu erstellte Arbeitsmappe. wie das geht, guckst Du hier:
https://www.herber.de/mailing/235204h.htm
Denke, das müsste hin hauen, ansonsten bin ich mit meinem Latein am Ende...
Kanns bei mir auch nicht testen, weil, wie gesagt ich immer den Fehler bekomme..
Grüße
Hoffi
Anzeige
Hallo Hoffi, bitte nicht aufgeben...
12.06.2006 14:16:17
Walter
Hallo Hoffi,
Danke das Du dir soviel Arbeit machst.
Teste jetzt deine neue Anweisung. Sag dann bescheid.
Vielleicht hier Hinweis: ???
Habe das Makro mal so reingesetzt, habe festgestellt, läuft Prima aber die Makros werden alle ausgeblendet und ich muß dann mit ALT+F11 wieder reingehen, leider kein Schutz drin !
Sub NeueMappe()
Dim wkb As Workbook
Dim sFile As String
Application.ScreenUpdating = False
sFile = "C:\testwkb.xls"
Set wkb = Workbooks.Add(1)
Dim intIndex As Integer, bolgefunden As Boolean
With wkb.VBProject.VBComponents(wkb.CodeName).CodeModule
.InsertLines 3, "

Private Sub Workbook_Open()"
' .InsertLines 4, Password = "ww"
' .InsertLines 5, SendKeys "%xi{TAB 9}{RIGHT}{TAB} {TAB}"
' .InsertLines 6, SendKeys Password
' .InsertLines 7, SendKeys "{TAB}"
' .InsertLines 8, SendKeys Password
' .InsertLines 9, SendKeys "{TAB}{ENTER}"
' .InsertLines 10, SendKeys "%Dh"
.InsertLines 11, "  Msgbox ""Bin da!   noch etwas..."""
' .InsertLines 5, "   ActiveWorkbook.Close Savechanges:=False"
.InsertLines 12, "End Sub
"
End With
ww ww <<<<<<<<<<<<<<<< hier steht allerdings dies nach dem auslösen drin !!!!!!
Dim Password As String
Application.DisplayAlerts = False
Password = "ww"
SendKeys "%{F11}"
SendKeys "%xi{TAB 9}{RIGHT}{TAB} {TAB}"
SendKeys Password
SendKeys "{TAB}"
SendKeys Password
SendKeys "{TAB}{ENTER}"
SendKeys "%Dh"
Application.DisplayAlerts = True
ActiveWorkbook.SaveAs sFile
Application.DisplayAlerts = True
'ActiveWorkbook.Close savechanges:=False
Sheets("Tabelle1").Select
Range("c3").Select
' Workbooks.Open sFile
Application.ScreenUpdating = True
End Sub
gruß Walter
Anzeige
AW: Hallo Hoffi, bitte nicht aufgeben...
12.06.2006 14:27:59
Hoffi
Hallo Walter,
Du hast noch eine Zeile Vergessen:
SendKeys "%{F11}" ' Alt+F11, ruft den VBA Editor auf, sonst klappt das mit den anderen Send Keys ja nicht.
kannst auch anstatt diese vielen Zeilen zu nehmen, die verkürzte Version von eben nehmen.
Dann sollte es funktionieren.
Grüße
Hoffi
AW: Hallo Hoffi, bitte nicht aufgeben...
12.06.2006 15:09:09
Kurt
Hi,
das wird erst nach speichern, schließen und erneutem Öffnen wirksam.
mfg Kurt
Hallo Kurt, geht nicht
12.06.2006 16:02:55
Walter
Hallo Kurt,
leider funktioniert nicht.
mfg walter
Was heißt BASMain ???
12.06.2006 14:27:30
Walter
hallo,
was heißt:
StandardModule: Modul2
StandardModule: basMain
gruß Walter
AW: Was heißt BASMain ???
12.06.2006 14:30:36
Hoffi
Hallo Walter,
das ist der Name vom Modul, damit man es besser zuordnen kann. (es wird ja auch als.bas gespeichert.
Du brauchst aber nur die letzten 3 Zeilen aus dem basMain Modul.
ThisWorkbook....usw.
Grüße
Hoffi
Anzeige
Ich bin ...
12.06.2006 15:10:07
Walter
Hallo Hoffi,
ich bin jetzt 5h am testen, komme nicht zurecht.
Ich habe Die mal meine Testmappe erstellt.

Die Datei https://www.herber.de/bbs/user/34314.xls wurde aus Datenschutzgründen gelöscht

bis später
mfg Walter
AW: Ich bin ...
12.06.2006 16:15:06
Hoffi
Hallo Walter,
so, anbei Deine Tabelle.
https://www.herber.de/bbs/user/34318.xls
Hab alles mal raus genommen, was nicht benötigt wird, ist dann übersichtlicher.
es wird also eine neue Mappe angelegt, in dieser wird ein Modul erstellt und 'diese Arbeitsmappe' mit den zwei Zeilen gefüllt.
Das einzige was nicht funktioniert, weils auch logisch ist, die neue Mappe wird zwar beim öffnen mit einem Projekt Schutz belegt, dieser wird aber erst nach speichern, schließen und neu öffnen aktiv.
Das Problemchen musst Du noch lösen...
Ich mache mir auf dem Heimweg auch nochmal gedanken, und teste heute abend noch was zu Hause.
Grüße
Hoffi
Anzeige
Muß...
12.06.2006 16:42:12
Walter
Hallo hoffi,
muß jetzt zum Kundentermin, melde heute Abend oder morgen Früh,
Danke vorerst.
gruß Walter
Leidedr nicht
12.06.2006 19:33:03
Walter
Hallo Hoffi,
habe gerade getestet, fiunktioniert leider nicht.
Das Öffnen, kann man das nicht mit in das Workbook_Open Makro
reinsetzen und dann direkt schließen ?
gru Walter
AW: Leidedr nicht
13.06.2006 09:43:14
Hoffi
Hallo Walter,
Du kannst nicht im Workbook_open Ereignis die Datei schließen, denn dann wirst Du sie nie benutzen können, weil sie ja nachm öffnen direkt geschloßen wird.
das ganze ist etwas komplizierter, hab aber gestern abend zu hause auch keine andere Lösung gefunden.
Die Tabelle die ich Dir geschickt habe, klappt bei mir jedenfalls tadellos, es wird das Projektkennwort gesetzt. Nur musst Du dann händisch die Datei schließen und wieder öffnen.
Bastele aber grade an einer externen Lösung über VB 6.
Sorry, das ich Dir nicht zur endgültigen Lösung helfen konnte...
Grüße
Hoffi
Anzeige
Danke aber...
13.06.2006 11:17:17
Walter
Guten Morgen Hoffi,
Danke für die bisherige Unterstützung, will gleich nocgh einmal die Datei testen,
gestern Abend zu Hause, lief nichts.
Ich hoffe für später noch auf eine Idee.
Hier meine Mail Adresse: walterbuhlt-online.de
Melde mich jedoch am Nachmittag.
gruß Walter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige