如何执行字符串中的代码?例如 DIM STR AS STRING
     STR = "DIM B AS LONG"
     
     如何执行STR中的代码?

解决方案 »

  1.   

    一般来说不可以。特殊的情况下,特殊的处理也可以实现!
    实际上就是要做一个命令解释器。
     
         DIM STR AS STRING
         STR = "DIM B AS LONG"对于上面的情况,可以定义如下的解释函数:
     
        dim varTmp as variant
        vartmp = split(str," ")
        for i = 0 to ubound(vartmp)
            select case vartmp(i)
            case "dim"
            case "as"
            case "long"
                dim B2 as long
            case "string"
                dim B2 as string
            case "boolean"
                dim B2 as boolean
            case "inteager"
                dim B2 as inteager
            case else
            end select
        next i
      

  2.   

    参见:
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;100164
      

  3.   

    研究了 http://support.microsoft.com/default.aspx?scid=kb;EN-US;100164 上面的代码上面的eval函数功能是执行字符串中的代码 可是我在vb6里面使用这个函数的时候它说eval函数没有定义 
      

  4.   

    你须在工程中引用“microsoft script control 1.0”
      

  5.   

    还是不行啊 我加了microsoft script control 1.0
      

  6.   

    1,你可以按照生成vbs脚本来执行,对于更复杂的,vbs不能完成的,将无法实现,如果要求不高,就可以利用此方法:
    http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=192980
    2,对于函数,可以使用vb自己带的一个函数来实现:CallByName一个小程序,介绍如何使用VB中的函数CallByName
    http://www.applevb.com/sourcecode/callbyname.zip