Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Modul verstecken ?

Forumthread: Modul verstecken ?

Modul verstecken ?
16.07.2004 10:03:23
00011011
Ist es möglich, ein bestimmtes Modul (zwecks Schutz) in Visual Basic zu verstecken, sodaß man dieses nicht bearbeiten kann, wenn man nicht weiß, das es da ist?
Ich meine jetzt keinen Passwortschutz o.ä., sondern verstecken = unsichtbar :)
Gruß aus Köln
Christian
Anzeige

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Modul verstecken ?
geri
in etwa JA
schreibe
privat sub ........
aber es ist nur unsichtbar im EXCEL MAcros usw.
mit Editor abe sichtbar
gruss geri
AW: Modul verstecken ?
16.07.2004 10:16:24
00011011
Mit "Private Sub" kann ich Makros in Excel quasi nicht anzeigen lassen.
Ich möchte aber ein ganzes Modul in Visual Basic verstecken, sodaß es nicht angezeigt wird.
Trotzdem vielen Danke für Deine Mühen.
Gruß aus Köln
Christian
Anzeige
AW: Modul verstecken ?
geri
Hallo Christian
verstehe sinn und Zweck nicht ganz
wenn in Modul schreibst
Option Private Module
dann sind Module versteckt d.h. von "aussen via EXCEL" nicht erreichbar und auch nicht sichtbar, nur via Alt+F11 und dort mit Passwort sperren
gruss geri
TOTALE Sicherheit gibt es nicht, man benötigt um PW zu knacken ein paar Minuten
Anzeige
AW: Modul verstecken ?
16.07.2004 10:35:45
00011011
Hallo Geri,
ich möchte gerne ein Modul in Visual Basic einfügen, welches von Hand eingetragene Daten enthält und für den normalen Anwender, selbst wenn er Alt-F11 drückt nicht zu sehen ist.
Das ganze VBA-Proect wird von mir Passwortgeschützt sein. Nur der entsprechende "Administrator" erhält von mir dieses Passwort, aber auch er soll dieses Modul nicht sehen dürfen, solange er nicht gezielt danach sucht.
Daß ein Passwort nicht 100%igen Schutz bietet, sit mir klar. Ich möchte dieses Modul auch nicht um jeden Preis schützen, sondern einfach vor neugierigen Augen bewahren.
Danke für Deine Hilfe.
Für weitere Vorschläge bin ich immer dankbar.
Gruß aus Köln
Christian
Anzeige
AW: Modul verstecken ?
16.07.2004 10:55:06
Werner
Grüezi Christian
OnKey und
CommandBars("Worksheet Menu Bar"). _
Controls("Extras").Controls("Makro").Enabled = False
https://www.herber.de/bbs/user/8609.xls
Gruss Werner
AW: Modul verstecken ?
16.07.2004 11:15:53
00011011
Hallo Werner,
danke für Deine Hilfe!
Nur leider steige ich bei Deinem Code nicht dahinter. Vielleicht stelle ich mich auch ein wenig blöde an. Kannst Du mir bitte kurz erläutern, was dieser Code leistet?
(Habe den mal bei mir getestet, habe aber keinen mir erkennbare Wirkung erzielt)
Ich danke Dir
Gruß aus Köln
Christian
ps. warum hast du diese Datei angehängt? Seh ich den Wald vor lauter Bäumen nicht?
Anzeige
AW: Modul verstecken ?
16.07.2004 11:26:42
Werner
Grüezi Christian
Hast Du die Datei 8609.xls heruntergeladen und angeschaut?
Hast Du bemerkt, dass weder unter Extras-Makro und Alt-F11 etwas von dem Moduls siehst?
Wenn Du die Passwörter kracken kannst, erfährst Du mehr.
Gruss Werner
AW: Modul verstecken ?
16.07.2004 12:02:41
00011011
Hallo Werner,
also die Makros (unter Extra-Makro) lassen sich mit den Makros:
procKopierenAusschneidenAus
procKopierenAusschneidenEin
jeweils ein bzw. ausschalten. Das war ja noch relativ einfach :-)
Ich glaube nicht, daß ich noch mehr herausbekomme. Passwörter-cracken ist nicht unbedingt meine Welt. Ich weiß, daß sowas in Excel relativ ohne Probleme zu realisieren ist, weiß aber nicht wie.
FÜr einen kleinen Tipp von Dir wäre ich noch sehr dankbar, versuche aber weiterhin mein Glück, mehr Infos aus Deinem Programm rauszuholen.
Gruß aus Köln
Christian
Anzeige
AW: Modul verstecken ?
16.07.2004 12:05:45
00011011
Den Blattschutz habe ich jetzt auch erwischt.
bin mit meinem Latein am Ende
16.07.2004 12:34:01
00011011
Jetzt weiß ich nicht mehr weiter!
Die Hauptfrage, die sich mir stellt ist, wie man es hinbekommt, daß man das VBAProject nicht anzeigen kann, also noch nicht mal ein Passwort eingeben kann.
Hilfe
AW: bin mit meinem Latein am Ende
P@ulchen
Hi,
das hängt sicher damit zusammen, dass das Projekt unter einer höheren Excelversion (zB. Excel2000) geschützt wurde als Deiner (Excel97)...
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: Modul verstecken ?
Uduuh
Hallo,
was dagegen, wenn ich Christian unter die Arme greife? :-)))
Gruß aus'm Pott
Udo
P.S. Goto ist kein guter Stil und überhaupt: wenn x mal hintereinander die gleichen Objekte angesprochen werden, baut man die besser in einen With-Rahmen ein. Das schafft Übersichtlichkeit. ;-)))) *abroll vor Lachen*
Anzeige
AW: Modul verstecken ?
16.07.2004 13:36:30
Werner
Grüezi Udo
Wohl den ganzen Vormittag geschlafen?
Die Goto's haben wirlich nichts mit Gott zu tun. Ich als Grossvater habe es so gelernt und auch beibehalten.
Natürlich kannst Du Christian Deine Typ's weitergeben, ich kann ja auch noch dazu lernen.
Gruss aus dem sonnigen Glarnerland
Werner
Anzeige
Ich versteh jetzt überhaupt nix mehr ?¿? o.T.
16.07.2004 13:59:09
00011011
Hiiiiiiiiiiiiiiiiiiiiiiilfe
AW: Ich versteh jetzt überhaupt nix mehr ?¿? o.T.
Uduuh
Hallo,
es ist nur so, dass ich Einblick in Werners Code genommen habe und ein bisschen rumstänkern wollte.
Gruß aus'm Pott
Udo
AW: Modul verstecken ?
16.07.2004 11:07:02
ANdreas
Hallo Christian,
ganz so wie Du willst geht es nicht.
Eine Möglichkeit es etwas zu erschweren wäre, Programmteile erst während der Laufzeit zu generieren.
Aber diese Information muss ja auch irgendwo in der Datei stehen, entweder im Code selbst oder in einem versteckten Tabellenblatt.
Jemand der sich mit Makros allerdings gut auskennt, wird das natürlich bemerken.
Ein weiterer Ansatzpunkt wäre, die Daten die Du für die Generierung des Programmcodes irgendwo ablegst, mit einem einfachen Algorithmus zu verschlüsseln.
Wenn Du den Programmteil dann dynamisch generierst, entschlüsselst Du, nach Abarbeitung des Makros löscht Du es wieder.
Ist wiederum auch nicht sicher, da ja auch der Verschlüsselungsalorithmus als Makro vorliegt und somit einsehbar ist.
Es steckt dann aber mehr Arbeit drin an dieses so "versteckte" Makro zu gelangen.
Also eigentlich nur eine nette Spielerei :)
In Hans Excel-FAQ findest Du ein Beispiel wie man Code dynamisch erzeugen kann:
https://www.herber.de/mailing/164502h.htm
Gruß
Andreas
Anzeige
AW: Modul verstecken ?
16.07.2004 14:59:27
Werner
Hallo Christian
Nachdem sich Udo (verständlicherweise) verabschiedet hat un dich hier ein paar Minuten Zeit habe, probieren wir Dein Problem zu lösen.
Im VBA-Project unter Extras - Eigenschaft von VBAProject.. - Schutz
Dein Project schützen. Dann Deine Arbeitsmappe....
‚Diese Arbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Schützen
End Sub

‚In ein Modul setzen
Sub Schützen()
'Tastenkombination sperren
Application.OnKey "%{F8}", "" CommandBars("Worksheet Menu Bar"). _
Controls("Extras").Controls("Makro").Enabled = False
End Sub
Wenn Du diese Arbeitsmappe speicherst sind unter Extras ist der Aufruf Makro gesperrt und bleibt auch für andere Mappen so. Auch wenn der Andere die Makrosicherheit auf Hoch hat. Du kannst Dein VBAProject auch mit einer Digitalen Signatur versehen.
Eine Persönliche Arbeitsmappe zum Entsperren
z.B. Deine Mappe zum Aufheben
‚In ein Modul setzen und mit einer Tastenkobination aufrufbar
Sub Entschützen()
Application.OnKey "%{F8}"
CommandBars("Worksheet Menu Bar"). _
Controls("Extras").Controls("Makro").Enabled = True
End Sub
Hat Dir das geholfen.
Gruss Werner
Anzeige
AW: Modul verstecken ?
16.07.2004 15:34:38
00011011
Ich danke Dir vielmals für Deine Mühen!!! Das ist spitze!
Jetzt habe ich nur noch zwei kleine Fragen:
- Man kann ein VBAProject mit einer digitalen Signatur versehen? Kannst Du mir noch bitte kurz erklären, wie sowas geht?
- wenn ich ein Passwort-geschütztes VBA-Project aufmachen möchte, wird direkt nach einem Passwort gefragt. Bei manchen Dateien wird sofort eine Meldung gebracht, daß das Project geschützt sei. Liegt der Grund dafür in den verschiedenen Excelversionen?
Vielen Dank für die Hilfe!!!
Gruß aus Köln
Christian
Anzeige
Vielen vielen Dank !!! o.T.
16.07.2004 16:20:15
00011011
.
Danke für die Rückmeldung
16.07.2004 16:40:39
Werner
OT:-)
Anzeige
;
Anzeige

Infobox / Tutorial

Excel VBA: Module verstecken und schützen


Schritt-für-Schritt-Anleitung

Um ein VBA-Modul in Excel zu verstecken, kannst du die folgende Methode verwenden:

  1. Öffne dein Excel-Dokument und gehe zu Entwicklertools > Visual Basic, um den VBA-Editor zu öffnen.
  2. Finde das Modul, das du verstecken möchtest, im Projekt-Explorer.
  3. Klicke mit der rechten Maustaste auf das Modul und wähle Eigenschaften.
  4. Im Eigenschaftenfenster suche die Option Option Private Module und setze sie auf True.

Diese Einstellung sorgt dafür, dass das Modul von außen nicht mehr sichtbar ist, auch wenn jemand die Tastenkombination Alt+F11 verwendet.


Häufige Fehler und Lösungen

  • Modul ist immer noch sichtbar: Stelle sicher, dass du die Option Private Module korrekt gesetzt hast. Diese Option ist entscheidend, um das Modul zu verstecken.

  • Passwortschutz wird nicht akzeptiert: Überprüfe, ob das VBA-Projekt korrekt mit einem Passwort geschützt ist. Du kannst dies unter Extras > Eigenschaften von VBAProject > Schutz einstellen.


Alternative Methoden

Eine weitere Möglichkeit, ein Excel-Modul zu schützen, besteht darin, Teile des Codes zur Laufzeit zu generieren:

  1. Schreibe den Code in eine Funktion, die die Daten erzeugt.
  2. Verwende einen einfachen Algorithmus, um diese Daten zu verschlüsseln.
  3. Generiere den Code dynamisch und lösche ihn nach der Ausführung.

Diese Methode erschwert es, den Code direkt einzusehen, erfordert aber mehr Programmierkenntnisse.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du ein VBA-Modul verstecken kannst:

Option Private Module

Sub BeispielMakro()
    ' Dein Code hier
    MsgBox "Dieses Modul ist versteckt!"
End Sub

Wenn du dieses Modul in dein Excel-Dokument einfügst, wird es bei der Verwendung von Alt+F11 nicht sichtbar sein.


Tipps für Profis

  • Verwende die Application.OnKey-Methode, um Tastenkombinationen innerhalb deiner Excel-Anwendung zu steuern und den Zugriff auf Makros zu blockieren.

  • Denke daran, dass totaler Schutz nicht möglich ist. Ein geübter Benutzer kann immer Wege finden, um an Informationen zu gelangen.

  • Überlege, eine digitale Signatur für dein VBA-Projekt zu verwenden, um zusätzliche Sicherheit zu gewährleisten.


FAQ: Häufige Fragen

1. Wie kann ich mein VBA-Projekt mit einem Passwort schützen?
Gehe zu Extras > Eigenschaften von VBAProject und klicke auf Schutz. Setze ein Passwort, um den Zugriff auf das Projekt zu sichern.

2. Was bedeutet Option Private Module genau?
Mit dieser Option wird das Modul so konfiguriert, dass es außerhalb des aktuellen Projekts nicht aufgerufen werden kann. Es bleibt jedoch im VBA-Editor sichtbar, es sei denn, du hast das gesamte Projekt geschützt.

3. Ist es möglich, ein Modul komplett unsichtbar zu machen?
Es gibt keine Möglichkeit, ein Modul vollständig unsichtbar zu machen, aber du kannst den Zugriff darauf stark einschränken und die Sichtbarkeit durch die oben genannten Methoden minimieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige