将VBS脚本转换为VBA并通过Excel执行

我期待将VBScript转换为VBA并从Excel模块中运行它。 过去我已经把VB翻译成了VBA,但这次我遇到了一些麻烦。 我做了几次尝试(也许很多尝试)尝试自己翻译这个没有成功。

然后,我search了我在Google上find的Google,堆栈和其他论坛,并且find了一些我发现的例子。

是否可以从Excel模块执行以下内容? (作为一个方面说明,我试图直接与应用程序进行交互,在这个脚本之外还有其他的模块,它使用OLE自动化并引用适当的COM /库引用来实现这一点。 但是,该应用程序缺乏大量的文档,并且通过所述DLL可用的方法和属性相当有限。

所以,这是我的解决方法(虽然不是首选),尽pipe它可能是可怕的,它似乎工作。 我目前有一个运行VBScript的BAT文件,它工作的很好。 现在我只需要从一个模块中运行代码。 我尝试插入脚本作为一个对象,并运行一个macros,从Excel内执行它,但我得到安全提示(和那些没有乐趣)。

任何帮助是极大的赞赏!

Set WshShell = WScript.CreateObject("WScript.Shell") WScript.Sleep 1000 WshShell.AppActivate "Average Terminal Emulator" WScript.Sleep 1000 WshShell.SendKeys "%" WshShell.SendKeys "I" WshShell.SendKeys "Y" WshShell.SendKeys "S" WScript.Sleep 1000 WshShell.AppActivate "Average Terminal Emulator" WScript.Sleep 1000 WshShell.SendKeys "0" WshShell.SendKeys "{TAB}" WshShell.SendKeys "M" WshShell.SendKeys "{TAB}" WshShell.SendKeys "C" WshShell.SendKeys "{TAB}" WScript.Sleep 1000 WshShell.SendKeys "{ENTER}" 

SendKeys()AppActivate()是VBA原生的,所以你可以删除所有WshShell东西,包括CreateObject()调用来创build它。

然后,只需更换每个实例:

 WScript.Sleep 1000 

有:

 Application.Wait Now() + TimeValue("00:00:01") 

你应该没事的