比如我有一函数:function aa(cmd as string) as booleancmd是一函数名字或一对象名,再函数中我要把cmd当成函数命令或对象来使用怎么办? 注:不能直接传入对象或函数,只能按字符串传入

解决方案 »

  1.   

    再解释一下:
    设有一函数:function  aa(cmd  as  string)  as  boolean  
    传入"dim aa as boolean",在函数中我怎么样把这个字符串作为命令语句来执行??
     注:只能传入字符串 ,不能传入其它东西
      

  2.   

    可以用script control(引用里的)
      

  3.   

    传入"dim aa as boolean",在函数中我怎么样把这个字符串作为命令语句来执行??//这句恐怕是不行虽然能解析,但是你使用不了这个变量.....好象是这样吧...
      

  4.   

    传入"dim aa as boolean",在函数中我怎么样把这个字符串作为命令语句来执行??据我所知,你的愿望要落空了
      

  5.   

    我想在界面上的文本框里面写一些VBA的命令,然后接收这个文本框中的字符串,把这个字符串解析成命令语句执行。
       这个想法看来行不通了,除非当成做编译器来做,哈哈
      

  6.   

    Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long                                                 '     API
        
      Private Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
      ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
      End Function
     Function aa(ByVal cmd As String, ByVal expression As String) As Boolean
      ExecuteLine cmd
      ExecuteLine "aa=" & expression
      ExecuteLine "clipboard.settext   aa"     '发送到剪切板
      aa = CBool(Clipboard.GetText)       '从剪切板获取
      Clipboard.Clear   '清空剪切板
    End FunctionPrivate Sub Command1_Click()
    MsgBox aa("dim aa as boolean", "3>5")
    End Sub
      

  7.   

    谢谢northwolves(狼行天下)给出的代码,很有参考价值