【发布时间】:2015-11-23 07:29:01
【问题描述】:
我希望将 VBScript 转换为 VBA 并在 Excel 模块中运行它。过去我已经将“VB”翻译成它的 VBA 等价物,但这次我遇到了一些麻烦。我做了几次尝试(好吧,也许是很多尝试)试图自己翻译这个但没有成功。
然后我搜索了 Google、我在 Google 上找到的堆栈和其他论坛,但我找到的一些示例收效甚微。
是否可以从 Excel 模块执行以下操作? (作为旁注,我正在尝试直接与应用程序交互。我在此脚本之外还有其他模块,它们使用 OLE 自动化并引用适当的 COM/库引用来执行此操作)。但是,该应用程序缺乏大量文档,而且我可以通过上述 DLL 获得的方法和属性非常有限。
因此,这是我的解决方法(尽管不是首选),尽管它可能很糟糕,但它似乎有效。我目前有一个运行 VBScript 的 BAT 文件,它运行良好。现在我只需要从模块中运行代码。我尝试将脚本作为对象插入并运行从 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}"
【问题讨论】:
标签: excel vba vbscript translate