VBA Code als Variable ausführen

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