vb中Execute函数的用法?
在vbs中有个Execute 我觉的很好用,在vb中找到的的Execute 需要声明,声明后的意思好和vbs里的Execute 不一样。请教:怎么能让vb有vbs里Execute函数的功能?
追问:这个基本完美了,只是不能与vb中的代码互动啊,和运行了mshta差不多啊?有没有其他方法解决?
在vbs中有个Execute 我觉的很好用,在vb中找到的的Execute 需要声明,声明后的意思好和vbs里的Execute 不一样。请教:怎么能让vb有vbs里Execute函数的功能?
追问:这个基本完美了,只是不能与vb中的代码互动啊,和运行了mshta差不多啊?有没有其他方法解决?
答案:vbs里execute是个函数,直接执行字符串。vb里execute是个方法,执行远程请求或者sql查询的。
如果在vb里想实现vbs中execute同样的功能,有两种方法:
①用api,不过编译之后出错,我不会解决,下面代码是度娘得到的,问题依然不能解决。第二种可以
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
Private Sub Command1_Click()
Dim aa As String
aa = "msgbox time"
Call ExecuteLine(aa)
End Sub
Private Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function②用scriptcontrol,完美解决!
Private Sub Command1_Click()
Dim ob As Object
Set ob = CreateObject("scriptcontrol")
ob.Language = "VBscript"
ob.AddObject "form1", Form1
ob.ExecuteStatement "msgbox time"
End Sub
两处加黑的地方是放代码的~~
不可以
vb之中只有shell函数,没有execute函数,该函数是vc的函数Execute函数:
HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);其用法复杂,但功能更强大。Execute的功能是运行一个外部程序或是打开一个已注册的文件、打开一个目录、打印一个文件等
并对外部程序有一定的控制。
上一个:vb有多少循环函数
下一个:vb,next,print