使用 VBA 控制 VBScript

Posted

技术标签:

【中文标题】使用 VBA 控制 VBScript【英文标题】:Control VBScript using VBA 【发布时间】:2013-07-02 07:30:36 【问题描述】:

为了实现多线程,我使用 VBA 编写 VBScript 代码 (VBStr) 并即时写入文件,然后异步启动这些帮助脚本:

Dim VBFile As Object
Dim VBPath As String
VBPath = CurrentProject.Path & "\" & GUID() & ".vbs"
Set VBFile = CreateObject("Scripting.FileSystemObject").CreateTextFile(VBPath)
VBFile.WriteLine VBStr
VBFile.Close

Dim Shell As Object
Set Shell = CreateObject("Wscript.Shell")

Shell.Run """" & VBPath & """"

但是,如何在 VBA 中控制这些脚本?我似乎无法得到它们的句柄或参考。假设我想在 60 秒后终止挂起/停滞的脚本 - 如何执行此操作?

【问题讨论】:

【参考方案1】:

使用 .Exec 而不是 .Run。返回的WshScriptExec Object 具有监控进程状态和终止进程的方法/属性。

【讨论】:

以上是关于使用 VBA 控制 VBScript的主要内容,如果未能解决你的问题,请参考以下文章

如何用EXCEL的VBA控制WORD文档?

vba 将控制称为变量语法

从 Access 2010 VBA 控制 Excel 工作簿

使用VBA控制Excel中的Tab键行为

Access VBA:内存控制,mdb文件大小

在VBA中使用Windows API