Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1636to1640
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
Inhaltsverzeichnis

Suchen & Ersetzen im Programmcode

Suchen & Ersetzen im Programmcode
09.08.2018 11:15:08
Jens
Hallo zusammen, gibt es die a) Möglichkeit in der VBA-Entwicklerumgebung im Programmcode Leerzeilen und auch Leerzeichen schnell zu löschen? Bspw. über Suchen & Ersetzen? ^p ging leider nicht. b) Gibt es eine gute Möglichkeit für Nonsensezeilen, in denen man etwas wichtiges gut verstecken kann? Das Ziel ist ein gewisser Schutz meines Aufbaues durch einen schwerer nachvollziebareren Aufbau (Obfuscation). Viele Grüße Jens
http://www.vba-forum.de/forum/View.aspx?ziel=46311-Suchen_&_Ersetzen_im_Programmcode

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen & Ersetzen im Programmcode
09.08.2018 11:24:57
Martin
Hallo Jens,
es ist tatsächlich möglich mit VBA-Code auf den VBA-Code im VBE-Editor zuzugreifen. Aber ganz ehrlich: Lohnt sich der Aufwand wirklich? Ich rate dir von dem Aufwand ab.
Viele Grüße
Martin
AW: Suchen & Ersetzen im Programmcode
09.08.2018 11:37:17
Daniel
Hi
Programmcode ist nur Text.
Du kannst den Code kopieren, in ein beliebiges Bearbeitungsprogramm einfügen,dort bearbeiten und wieder zurückkopieren.
Geht auch in eine Exceltabelle.
Wenn du den Code dort eingefügt hast, kannst du bspw mit dem Autofilter nach Leerzeilen filtern und diese Löschen.
Eine weitere Idee wäre, z.B alle sprechenden Variablennamen durch eine Kombination aus ähnlichen Buchstaben (I und l) zu ersetzen.
llllllll(lllllllIlll, Illllllllll) = IIllllIl(IIIllllll, IlIlIIIII) 

Jede Variable wäre dann im Prinzip eine fortlaufende Binärnummer, je länger um so besser. VBA kann lange Variablennamen verarbeiten.
Wenn du den Code in eine Exceltabelle kopiert, kannst du ja ein Makro schreiben, dass solche Veränderungen durchführt.
Eine weitere Möglichkeit wäre, durch Goto-Sprünge den Ablauf durcheinander zu wirbeln, so dass man den Code nicht sinnvoll von oben nach unten lesen kann. Natürlich sollten auch die Sprungmarken nach oben genannten Prinzip benannt sein.
Fasse mit Doppelpunkt möglichst viele Programmzeilen zu einer langen Programmzeile zusammen.
Wenn dabei eine solche Zeile über die Grenze eines logischen Blocks hinaus geht, um so besser.
Gruß Daniel
Anzeige
Viel Spaß bei der Wartung danach ;-)
09.08.2018 11:55:54
Zwenn
Hallo
Klar kann man das Ausgangsmakro behalten und dieses dann warten. Aber bei jeder Änderung den ganzen Aufwand neu zu veranstalten? Die meisten Makros sind eher kurz, was den Quelltext angeht. Allein deshalb ist Obfuscation für VBA in meinen Augen völlig sinnfrei.
Abgesehen davon ist auch ein ordentlich strukturierter Quellcode für die meisten Anwender nicht nachvollziebar, weil die in der Regel nicht programmieren können. Wenn jemand unbedingt rausfinden will, was ein Programm macht, bzw. wie es das macht, dann nutzt dieser ganze HeckMeck sowieso nix. Egal für welche Programmiersprache und egal ob interpretiert oder compiliert. Man erhöht nur die Hürde.
Das ist natürlich nur meine Meinung :-)
Viele Grüße,
Zwenn
Anzeige
AW: Viel Spaß bei der Wartung danach ;-)
09.08.2018 12:02:31
Daniel
Hi
Deswegen ja die Idee mit dem Obfuskationsmakro.
Blöd isses natürlich, wenn man sich bei der Obfuskatin den Fehler einbaut.
Gruß Daniel
AW: Viel Spaß bei der Wartung danach ;-)
09.08.2018 12:55:38
Zwenn
Ja schon,
aber da z.B. Sprungmarken vorzusehen halte ich für einigermaßen kompliziert. Der Code soll danach ja noch laufen. Mag sein, dass es möglich ist, aber nach meiner (sehr vagen) Einschätzung dürfte der Aufwand das Ergebnis nicht rechtfertigen. Man bräuchte ja ein Programm, das mit jedem beliebigen Makrocode umgehen könnte.
AW: Dafür gibt's schon Fertiges...
09.08.2018 15:17:26
Michael
...falls es interessiert: zB https://www.spreadsheet1.com/unviewable-vba-project-app-for-excel.html
Aber Google bringt sicher noch andere fertige Obfuskatoren.
Im oben verlinkten Tool ist ein einfacher Obfuskator für VBA-Code dabei.
LG
Michael
Anzeige
AW: Viel Spaß bei der Wartung danach ;-)
09.08.2018 15:25:22
Daniel
Naja, die Sprungmarken müssten natürlich schon in den regulären Code eingebaut werden, das muss ha auch sinnvoll sein und funktionieren.
Ein Makro, welches in einem Code der in einem Tabellenblatt liegt, die Leerzeilen und Kommentare löscht, sowie die Variablennamen austauscht, sollte aber erstellbar sein.
Eigentlich ne schöne Fingerübung für jemanden, der sich in das Thema "bearbeiten von texten" einarbeiten will.
Gruß Daniel

286 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige