Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
976to980
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
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zugriff auf VB-Editor verhindern

Zugriff auf VB-Editor verhindern
19.05.2008 15:39:00
Matthias
Hallo Leute,
ich bin auf der Suche nach einer Möglichkeit, den Zugriff auf den VB-Editor (und damit auch aufs Direktfenster) zu verhindern, um keine VBA-Befehle zuzulassen.
Dies hier schaut m.E. bisher recht vielversprechend aus:

Sub VBAEnable()
Dim c As CommandBarControl
With Application
'Extras, Makro deaktivieren
.CommandBars("Worksheet Menu Bar").Controls("extras").Controls("Makro").Enabled = True
'"Code anzeigen" deaktivieren:
For Each c In .CommandBars.FindControls(ID:=1561)
c.Enabled = True
Next c
.OnKey "%{F8}"
.OnKey "%{F11}"
.OnKey "+%{F11}"
End With
End Sub
Sub VBADisable()
Dim c As CommandBarControl
With Application
'Extras, Makro aktivieren
.CommandBars("Worksheet Menu Bar").Controls("Extras").Controls("Makro").Enabled = False
'"Code anzeigen" aktivieren:
For Each c In .CommandBars.FindControls(ID:=1561)
c.Enabled = False
Next c
.OnKey "%{F8}", ""
.OnKey "%{F11}", "SetAdmin" 'externe Prozedur: Kennwortabfrage und ggf. Aufruf von  _
VBAEnable
.OnKey "+%{F11}", ""
End With
End Sub


Es wird das Menu Extras-Makro deaktiviert, außerdem alle "Code anzeigen"-Befehle (Control-ID 1561).
Das Öffnen der Mappe mit deaktivierten Makros habe ich bereits ausgeschlossen.
Habe ich eine Möglichkeit vergessen?
Danke,
Matthias

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zugriff auf VB-Editor verhindern
19.05.2008 16:00:24
Daniel
Du könntest noch probieren was passiert, wenn ein Workbook mit aktivierten Makros geöffnet ist und deine Datei erst im Anschluss geöffnet wird...
Im Zweifelfall sollte ein Passwortschutz für das VBA Projekt hier dann weiterhelfen!
Daniel

AW: Zugriff auf VB-Editor verhindern
19.05.2008 16:04:00
Matthias
Hallo Daniel,
Danke für deine Antwort.
Du könntest noch probieren was passiert, wenn ein Workbook mit aktivierten Makros geöffnet ist und deine Datei erst im Anschluss geöffnet wird...
Das schließe ich aus, indem in (mit VB) erst eine neue Excel-Instanz öffne.
Im Zweifelfall sollte ein Passwortschutz für das VBA Projekt hier dann weiterhelfen!
Ja, das soll sowieso gesetzt sein.
Ich lass mal weiter auf offen.
Gruß Matthias

Anzeige
noch offen o.T.
19.05.2008 16:05:00
Matthias
-

AW: Zugriff auf VB-Editor verhindern
19.05.2008 16:05:59
Ramses
Hallo
und wie willst du verfahren, wenn deine Mappe mit nicht aktivierten Makros geöffnet wird, und dein "Schutz" dann gar nicht ausgeführt werden kann ? :-)
Gruss Rainer

AW: Zugriff auf VB-Editor verhindern
19.05.2008 16:17:00
Matthias
Hallo Rainer,
und wie willst du verfahren, wenn deine Mappe mit nicht aktivierten Makros geöffnet wird, und dein "Schutz" dann gar nicht ausgeführt werden kann ? :-)
Ich öffne die Datei mit einem kleinen Visual Basic-Programm (also eine kleine .exe-Datei). Die Mappe ist kennwortgeschützt, das Kennwort wird vom VB-Programm an Excel weitergegeben. Man muss also das Kennwort nicht wissen, um die Mappe zu öffnen.
Wenn man das Kennwort weiß, ist mein Schutz sinnlos, das weiß ich.
Gruß Matthias

Anzeige
AW: Zugriff auf VB-Editor verhindern
19.05.2008 16:36:00
Ramses
Hallo
Dann mach doch aus der EXCEL Mappe eine EXE !!!
Dort kannst du genau definieren was dann gemacht werden soll und wie sie sich verhalten darf
Geht doch nicht sagst du !
Doch,... das geht sage ich :-)
http://orlando.mvps.org/
Die Nummer 2: Converter from XL to EXE
Das ist eine oberelegante Variante.
Gruss Rainer

AW: Zugriff auf VB-Editor verhindern
19.05.2008 16:47:00
Matthias
Hallo Rainer,
Das Programm kannte ich nicht.
Das werde ich mal testen.
Vielen Dank für den Hinweis!
Gruß Matthias

AW: Zugriff auf VB-Editor verhindern
19.05.2008 16:20:00
ransi
Hallo

Habe ich eine Möglichkeit vergessen?


Was wenn ich einen CommandButton aus SteuerelementeToolBox aufziehe und eine Doppelclick drauf mache ?
Was wenn ich über Menu "Anpassen" einfach einen neuen "Makro" Button in eine Symbolleiste ziehe ?
Was wenn... ?
Was wenn... ?
ransi

Anzeige
AW: Zugriff auf VB-Editor verhindern
19.05.2008 16:33:00
Matthias
Danke Ransi,
deine erwähnten Möglichkeiten lassen sich durch

With Application
.CommandBars.DisableCustomize = True
.CommandBars("Visual Basic").Enabled = False
.CommandBars("Control Toolbox").Enabled = False
End With


verhindern.
Was fehlt noch? Ich weiß, es gibt nichts 100%ig sicheres in Excel, aber ich will diesem Ideal wenigstens so nah wie möglich kommen.
Gruß Matthias

AW: Zugriff auf VB-Editor verhindern
19.05.2008 16:55:00
ransi
HAllo MAtthias

Was fehlt noch?


Für OttoNormalUser wahrscheinlich nichts, aber für Leute die sich auskennen und unbedingt an die Daten oder den Programmcode wollen ist das Alles nichts ernsthaftes.
Wenn du die Mappe fertig hast, lädst du sie mal hoch ?
ransi
ransi

Anzeige
AW: Zugriff auf VB-Editor verhindern
19.05.2008 17:06:00
Matthias
Hallo Ransi,
ich muss die Mappe nicht hochladen, sie hat bis jetzt diesen Code:
Modul1:

Option Explicit
Sub VBADisable()
Dim c As CommandBarControl
With Application
.CommandBars.DisableCustomize = True
.CommandBars("Visual Basic").Enabled = False
.CommandBars("Control Toolbox").Enabled = False
'Makro zuweisen' deaktivieren
For Each c In .CommandBars.FindControls(ID:=859)
c.Enabled = False
Next c
'Makros.. deaktivieren
For Each c In .CommandBars.FindControls(ID:=186)
c.Enabled = False
Next c
'Extras, Makro deaktivieren
For Each c In .CommandBars.FindControls(ID:=30017)
c.Enabled = False
Next c
'"Code anzeigen" deaktivieren:
For Each c In .CommandBars.FindControls(ID:=1561)
c.Enabled = False
Next c
.OnKey "%{F8}", "VBAMsg"
.OnKey "%{F11}", "SetAdmin"
.OnKey "+%{F11}", ""
End With
End Sub
Sub VBAEnable()
Dim c As CommandBarControl
With Application
.CommandBars.DisableCustomize = False
.CommandBars("Visual Basic").Enabled = True
.CommandBars("Control Toolbox").Enabled = True
'Makro zuweisen' aktivieren
For Each c In .CommandBars.FindControls(ID:=859)
c.Enabled = True
Next c
'Makros.. aktivieren
For Each c In .CommandBars.FindControls(ID:=186)
c.Enabled = True
Next c
'Extras, Makro aktivieren:
For Each c In .CommandBars.FindControls(ID:=30017)
c.Enabled = True
Next c
'"Code anzeigen" aktivieren:
For Each c In .CommandBars.FindControls(ID:=1561)
c.Enabled = True
Next c
.OnKey "%{F8}"
.OnKey "%{F11}"
.OnKey "+%{F11}"
End With
End Sub
Sub SetAdmin()
If InputBox("Passwort:") = "12345" Then
VBAEnable
MsgBox "Zugriff auf den VB-Editor freigegeben."
Else
MsgBox "Falsches Kennwort!"
End If
End Sub
Sub VBAMsg()
MsgBox "Kein Zugriff auf den VB-Editor erlaubt!"
End Sub


DieseArbeitsmappe:


Private Sub Workbook_Open()
VBADisable
MsgBox "Zugriff auf VBA sollte gesperrt sein."
End Sub


Wäre nett, wenn du mal schauen könntest, was da noch geht (natürlich bei aktivierten Makros).
Achtung, vor dem Schließen der Mappe VBAEnable ausführen, damit alles wiederhergestellt ist.
Gruß Matthias

Anzeige
AW: Zugriff auf VB-Editor verhindern
19.05.2008 23:23:00
ransi
Hallo MAtthias

was da noch geht 


Ohne das ich es jetzt ernsthaft versucht hätte...
Du öffnest die Datei mit einem VB-Script. Das Kennwort gibts du mit.
Also relativ sicher.
Wie man da jetzt trotzdem reinkommt werde ich hier nicht posten.
Wie kann ich dich kontakten ?
ransi

AW: Zugriff auf VB-Editor verhindern
20.05.2008 00:20:00
Matthias
Hallo ransi,

Wie kann ich dich kontakten ?


z.B. ICQ 308633332
Gruß Matthias

AW: Zugriff auf VB-Editor verhindern
20.05.2008 00:57:34
Ramses
Hallo
"...Du öffnest die Datei mit einem VB-Script. Das Kennwort gibts du mit..."
Wenn das Script nicht kompiliert ist,.... dann sehe ich darin absolut keinen Schutz, weil das Passwort dann im Klartext vorhanden ist.
Gruss Rainer

Anzeige
AW: Zugriff auf VB-Editor verhindern
20.05.2008 01:04:00
Matthias
Hi Rainer,
ja, stimmt so auch nicht (wahl falsch zitiert oder falsch verstanden), mit einem VB-Programm (exe).
Gruß Matthias

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige