
106543
21.01.2013, aktualisiert um 10:14:36 Uhr
VBA-Projekt - Quellcode schützen
Hi Leute,
ich hätte gerne gewusst, ob man den Quellcode von VBA irgendwie schützen kann, sodass kein Unbefugter diesen Auslesen kann o.Ä.
Es geht mir hierbei nicht um irgendwelche Programme welche den Quellcode dann auslesen sondern eher darum, dass bisher jeder User den Quellcode und auslesen und bearbeiten kann
Vielleicht hat ja schon jmd. von euch Erfahrungen damit gemacht.
Grüße
Exzellius
[EDIT]
Ok einiges googlen bin ich schlauer xD
also Passwortschützen ist kein Problem
nun würde ich gerne wissen, ob es möglich wäre, noch drastischere Methoden zu nehmen
[/EDIT]
ich hätte gerne gewusst, ob man den Quellcode von VBA irgendwie schützen kann, sodass kein Unbefugter diesen Auslesen kann o.Ä.
Es geht mir hierbei nicht um irgendwelche Programme welche den Quellcode dann auslesen sondern eher darum, dass bisher jeder User den Quellcode und auslesen und bearbeiten kann
Vielleicht hat ja schon jmd. von euch Erfahrungen damit gemacht.
Grüße
Exzellius
[EDIT]
Ok einiges googlen bin ich schlauer xD
also Passwortschützen ist kein Problem
nun würde ich gerne wissen, ob es möglich wäre, noch drastischere Methoden zu nehmen
[/EDIT]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 197344
Url: https://administrator.de/forum/vba-projekt-quellcode-schuetzen-197344.html
Ausgedruckt am: 17.04.2025 um 08:04 Uhr
10 Kommentare
Neuester Kommentar
Im Visual Studio hast du die Möglichkeit dein Projekt in eine EXE umzuwandeln.
in VBS geht das z.B. mit VBSEDIT ganz easy per "Klick" auf "Convert into executable"
Auch einge Tools die im Internet zu finden sind können Code in eine Exe umwandeln VbsToExe z.B.
Du kannst eventuell auch in eine vbe umwandeln (nur VBS) was sich aber leicht rückgängig machen lässt.
Dotfuscator für VBA? Keine Ahnung aber eventuell gibts da was?
in VBS geht das z.B. mit VBSEDIT ganz easy per "Klick" auf "Convert into executable"
Auch einge Tools die im Internet zu finden sind können Code in eine Exe umwandeln VbsToExe z.B.
Du kannst eventuell auch in eine vbe umwandeln (nur VBS) was sich aber leicht rückgängig machen lässt.
Dotfuscator für VBA? Keine Ahnung aber eventuell gibts da was?
Hallo,
Jepp.
@106543: Aber hier geht es um VBA was ja innerhalb der Anwendung (Excel, Word, Outlook etc) direkt läuft. Da ist es mit wandeln in eeiner .exe eben nicht möglich. Passwortschutz ja. Ansonsten den VBA Code komplett auslagern in einer DLL oder gar als eigenständige Applikation (was aber dann kein VBA mehr ist).
Gruß,
Peter
Jepp.
@106543: Aber hier geht es um VBA was ja innerhalb der Anwendung (Excel, Word, Outlook etc) direkt läuft. Da ist es mit wandeln in eeiner .exe eben nicht möglich. Passwortschutz ja. Ansonsten den VBA Code komplett auslagern in einer DLL oder gar als eigenständige Applikation (was aber dann kein VBA mehr ist).
ob es möglich wäre, noch drastischere Methoden zu nehmen
Und wer sollten denn dein Geniereiches Werk sabotieren wollen? Das lässt sich doch auch nachteilig für den durchführenden nachweisen sprich wer mutwillig Firmeneigentum (Hier der funktionsfähige VBA Code) zerstört oder beschädigt muss mit Schadenersatzforderungen sowie weitere Konsequenzen rechnen, oder? Wenn du nicht willst das jemand auch nur Ansatzweise dein VBA lesen kann, dann eben kein VBA verwenden.Gruß,
Peter
VBS kann auf Excel zugreifen. In genau dem Umfang wie VBA das auch kann (Gleiche Familie). Du must hat nur ein paar Objekte mehr erstellen am Anfang deines Codes und muss über diese Objekte dein Excel ansprechen. Nicht nennenswert umständlicher also meiner Ansicht nach.
Du hast sogar einen Vorteil mit VBS: Würdest du eventuell einbauen, dass nur Sheelts verwendet werden die in einem bestimmten Pfad liegen, könntest du damit jedes Sheet manipulieren das den Voraussetzungen entspricht. Und nicht nur das eine in dem dein VBA-Code steht.
Du hast sogar einen Vorteil mit VBS: Würdest du eventuell einbauen, dass nur Sheelts verwendet werden die in einem bestimmten Pfad liegen, könntest du damit jedes Sheet manipulieren das den Voraussetzungen entspricht. Und nicht nur das eine in dem dein VBA-Code steht.
Hallo,
Gruß,
Peter
Zitat von @106543:
allerdings ist exakt dies einem Kollegen von mir passiert
Und der Passwortschutz ist nicht ausreichend gewesen oder war einfach keiner gesetzt? Das hält doch solche möchtegern "ich kann besser Programmieren als du und werde es jetzt tun" davon ab weiter als bis zur Passwortabfrage. Ansonsten im VBA eine Logging Funktion einbauen wer von welchen PC das ding wann geöffnet hat.allerdings ist exakt dies einem Kollegen von mir passiert
Gruß,
Peter
Hallo,
Als ergänzung noch. Fast jede Hochsprache kann auch auf Excel (Office Aobjekte) zugreifen. Auch ein .NET oder ein VisiualBasic, C# usw. Fragt sich nur was sinnvoller ist und was ich tatsächlich erreichen möchte mit welchem Aufwand.
Gruß,
Peter
Als ergänzung noch. Fast jede Hochsprache kann auch auf Excel (Office Aobjekte) zugreifen. Auch ein .NET oder ein VisiualBasic, C# usw. Fragt sich nur was sinnvoller ist und was ich tatsächlich erreichen möchte mit welchem Aufwand.
Gruß,
Peter
Zitat von @Pjordorf:
Ansonsten im VBA eine Logging Funktion einbauen wer von welchen PC das ding wann geöffnet hat.
Ansonsten im VBA eine Logging Funktion einbauen wer von welchen PC das ding wann geöffnet hat.
Naja, würde ich den Code eines Kollegen böswillig ändern wollen würde ich erstens das Sheet nicht vom Share aus öffnen sondern die Kopie davon ohne Netzwerkzugriff, zweitens würde jeder Zugriff geloggt werden, also auch das Öffnen des Excel.
und dazu:
Zitat von @Pjordorf:
Fragt sich nur was sinnvoller ist und was ich tatsächlich erreichen möchte mit welchem Aufwand.
Fragt sich nur was sinnvoller ist und was ich tatsächlich erreichen möchte mit welchem Aufwand.
Nun wie er schon sagte will er seinen Code schützen. Darum muss er den Code wohl oder übel vom Excel auslagern. Dafür gibt es schier unerschöpfliche Möglichkeiten.
Ganz einfach ist es mit VBS, weil es sich von VBA durch sozusagen nichts unterscheidet
http://mahimavbscript.blogspot.co.at/2010/09/working-with-excel-object. ...