VB程序如何执行VBS文件?【答对+40分】

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB程序如何执行VBS文件?【答对+40分】相关的知识,希望对你有一定的参考价值。

有一个按钮,点了这个按钮后执行“D:\123.vbs”
请大家不要复制网上的,很多都是错了。尤其是请大家不要回答
Shell“D:\123.vbs"
根本不行的。

shell 语句只能调用EXE文件 所以可以这样做:
Shell "explorer d:\1.vbs"
使用windows资源管理器打开vbs文件
注意 这个方法常被病毒用来攻击系统 所以会被360拦截(vbs是高危文件) 测试前请关闭360追问

谢谢,但用这个打开后会有提示,要点击“打开”才能打开。可以直接打开吗?

追答

这个。。你有截图可以提供吗?
我在win7这里测试是直接运行VBS文件了
方便的话把VBS的代码也给我好吗?

追问

点了打开又出来这个:

VBS代码很简单,就是语音:

CreateObject("SAPI.SpVoice").Speak "hello"

我的本意是为了让VB中点一个按钮后说“hello”。

追答

.........怎么是文件下载。。看来系统设置是被改过了。。

这样的话 得用API了。。稍麻烦一些:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

这个是API申明
打开用这句话:
ShellExecute Me.hwnd, "open", "d:\1.vbs", "", "", vbNormalFocus
(其他都不用改 就d:\1.vbs 改一下就好了)

但是。。我觉得这么简单的功能还是直接把代码写在程序里比较好吧。。

追问

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

这段也写在按钮上吗?怎么说【编译错误:在End Sub、End Function或End属性后面只能出现注释】?
再追问就有财富值消耗了,咱百度消息里说。

参考技术A Shell "cmd /c D:\123.vbs", vbhide
或者
Shell "cmd /c
mshta vbscript:createobject("sapi.spvoice").speak("hello")(window.close)
"
参考技术B 修改Form的标题
Private Sub Form_Load()
Dim vbs As Object
Set vbs = CreateObject("ScriptControl")
vbs.Language = "vbs"
vbs.AddObject "ThisForm", Me, True
vbs.AddCode "sub mysub():ThisForm.caption=""hello"":end sub"
vbs.ExecuteStatement "mysub"
Set vbs = Nothing
End Sub追问

我要的是什么,你给我的是什么?搜出来复制的吧?你这样很不尊重人知道吗?
http://zhidao.baidu.com/question/263393363.html

参考技术C Shell "explorer.exe " & app.path & "\1.vbs", 1 参考技术D shell "wscript.exe D:\123.vbs" 第5个回答  2012-07-08 说实话 真不知道你要干什么~追问

我要用VB执行VBS脚本。

以上是关于VB程序如何执行VBS文件?【答对+40分】的主要内容,如果未能解决你的问题,请参考以下文章

vb.net2005中如何调用外部vbs文件

vb调用vbs代码

怎样用VB6 打开和关闭一个程序

在VB中动态执行VBS代码,可操控窗体控件

VB运行VBS程序

vbs/vb如何模拟鼠标点击