将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")
你应该没事的