Hi x-perts!
Ich möchte VBA-Code ausführen, der in einer Variable gespeichert ist: Ich habe vorher einen verschlüsselten VBA-Code entschlüsselt und die Variabel geladen. Nun möchte ich den irgendwie ausführen… In VBS gibt es ja den execute-Befehl, gibt es sowas auch in VBA?? Oder kann ich den Text in ein Modul speichern und das ausführen??
thx Dani
Schau mal in der Hilfe unter „Eval“ nach!
Reinhard
gibt es auch eine Möglichkeit zwei Befehle auszuführen:
eval(msgbox(„Hallo“)) -> funzt
nun möchte ich aber z.B:
eval(msgbox(„Hallo“): msgbox(„Hallo2“)) -> funzt ned…
denn ich möchte eine Art verschlüsselung machen…
z.B:
codiert = „cetcertcetactctrfrtvrvrt“
eval(encode(codiert))
function encode(codiert)
>hier soll es entschlüsselt werden…
end function
hast du mir da eine Möglichkeit dies zu Verwirklichen
thx Dani
Schau mal in der Hilfe unter „Eval“ nach!
Reinhard
Wozu brauchst du da Eval?
Ruf doch einfach deine Funktion auf - oder willst du wechselnde Funktionsnamen verwenden?
Reinhard
Nein ich hab das so gedacht, dass der verschlüsselte Code in wirklichkeit Befehle in VBA sind… in der Funktion werden sie entschlüsselt und dann will ich sie ausführen…
thx Dani
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Ich verstehe nicht den Nutzen1
Wenn die verschlüsselten Daten meinetwegen
„Decrypt(“„a182371298aswe91239"“)"
heissen, was ist damit gegenüber
„a182371298aswe91239“
an Sicherheit gewonnen?
Reinhard
da hat es keine Sicherheit dazwischen, aber ich meine, dass
a182371298aswe91239
das gleiche ist wie MSGBox „Hallo“ (nur halt verschlüsselt… also will ich es entschlüsseln und gleich ausführen…
Dani
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Ich versteh’s nicht…
Aber dazu brauchst du doch dann Eval nicht: Du kannst doch deine Entschlüsselungsroutine direkt aufrufen:
Warum
Eval(„MsgBox(Decrypt(“„MeinString“"))")
wenn es
MsgBox(Decrypt(„MeinString“))
genauso tut?
Reinhard
ich will ja nicht nur ne MESSAGEBOX sonder EINEN GANZEN HAUFEN VON CODE!!!
also steht in der Variabel zum Beispiel:
for w = 1 to 10
msgbox "Hallo Nr. " & w
next w
…
Dj-Cyrus
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Nun wie auch immer - das, was du vorhast, leistet Eval nicht so ohne weiteres - du müsstest also deinen Code zerlegen und abschnittsweise an Eval übergeben. Wenn du das ganze zu weit treibst, musst du am Ende einen eigenen Basic-Interpreter schreiben ;=)
Gruss
Reinhard