Ejecutar 1 linea de codigo almacenada en 1 string

Iniciado por Krnl64, 25 Mayo 2006, 00:47 AM

0 Miembros y 1 Visitante están viendo este tema.

Krnl64


Hola a todos.

Veran, intento averiguar como ejecutar 1 linea de codigo almacenada en 1 string.

Les explico:

Supongamos que la constante A es 1 string y contiene

Me.show

como podria hacer que se ejecutara esa orden ?

Estoy buscando a ver si encuentro algun metodo o API que me permita hacerlo, pero por ahora en VB no se hacerlo.

No me vale un if y then ejecutar orden.

No se si la funcion ExecuteLine vale en VB y tampoco se
como se declara.

Estoy buscando.

Podria alguien hecharme 1 mano ?






<--v1c1ous-->

Buenas, yo en eso estoy Sr.Krnl64 :)

La declaracion de la API es:

CitarPrivate Declare Function EbExecuteLine Lib "vba6.dll" (ByVal StringToExec As Long, ByVal Foo1 As Long, ByVal Foo2 As Long, ByVal fCheckOnly As Long) As Long

Y una funcion posible seria:

CitarFunction FExecuteCode(stCode As String, Optional fCheckOnly As Boolean) As Boolean
FExecuteCode = EbExecuteLine(StrPtr(stCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function

Con VBScript Object's seria:

CitarFunction ejecutar(sName As String, sData As String)
On Error GoTo Error:

Dim SC
Set SC = CreateObject("ScriptControl")

Dim Funcion As String
Funcion = sData
SC.language = "VBScript"
SC.addcode Funcion

Dim RESULTADO As String
RESULTADO = SC.run(sName)
             
Exit Function
Error:
MsgBox "Error!"
End Function


Ahora bien, ¿Alguien sabe otro metodo que no sea usando API's ni VBScript?
todavía sigo intentando crear una funcion como ExecuteLine pero no lo consigo, por favor, seria de mucha utilidad si al menos me digan que NO conocen.

Espero haberte ayudado Krnl64 :)
Saludos.


Krnl64

Gracias .

Ya la habia averiguado yo y estoy lo mismo que tu.

Intentando a ver de donde o como me "fabrico" una funcion que haga lo mismo sin depender de la libreria vba6.dll

Salu2

<--v1c1ous-->

Si lo logro lo publicare aca, espero lo mismo de tu parte, tratando de decompilar librerias no tiene sentido, asi que ni intentes, llevo mas de una semana intentando y buscando pfff.

Suerte