Vbscript 错误:需要对象:';wscript';在HTA中

Vbscript 错误:需要对象:';wscript';在HTA中,vbscript,hta,Vbscript,Hta,我已经寻找了一段时间,但似乎找不到答案。我正在制作一个基于图形用户界面的程序选择器,我对VBS和HTA非常陌生。我做了一台自动打字机,但我似乎不明白为什么它不能在HTA中工作。它本身工作得很好 Gui基于程序选择器。 子测试子 Set shell=CreateObject(“wscript.shell”) strtext=InputBox(“您希望您的消息是什么?”) strtimes=InputBox(“您希望键入多少次?”) 如果不是数字(strtimes),则 lol=MsgBox(“错

我已经寻找了一段时间,但似乎找不到答案。我正在制作一个基于图形用户界面的程序选择器,我对VBS和HTA非常陌生。我做了一台自动打字机,但我似乎不明白为什么它不能在HTA中工作。它本身工作得很好


Gui基于程序选择器。
子测试子
Set shell=CreateObject(“wscript.shell”)
strtext=InputBox(“您希望您的消息是什么?”)
strtimes=InputBox(“您希望键入多少次?”)
如果不是数字(strtimes),则
lol=MsgBox(“错误=请输入一个数字”)
WScript.Quit
如果结束
MsgBox“单击“确定”后,消息将在5秒钟后启动”
WScript.Sleep(5000)
Tor i=1至标准时间
shell.SendKeys(strtext&“”)
shell.SendKeys“{Enter}”
WScript.Sleep(75)
下一个
端接头


HTA引擎不提供
WScript
对象,因此
WScript.Quit
WScript.Sleep
等操作在HTA中不起作用。要以编程方式退出HTA,请使用
Self.Close
window.Close
。要替换
Sleep
方法,请参见的答案。

代码中没有名为
wscript
的变量,因此显然不能调用它的
。退出
方法。学习实际阅读您正在编写或复制/粘贴的代码。如果你真的读了代码,那么问题的解决方案应该会马上跳出来。你正在使用Internet Explorer编程。对于您的程序,没有可用的WSCRIPT,因为WSCRIPT对象是关于控制由WSCRIPT运行的脚本(您的不是,它由IE运行)。注意:其他WScript对象(
WScript.shell
)是通用函数库,可随时用于所有COM程序。更多背景信息请参见。WScript对象是在从c | WScript.exe(@KenWhite)运行的脚本中预定义的,它与具有.Shell属性(@laket)的COM对象不同。@Ekkehard.Horner:这是一个IE HTA,而不是从c | WScript运行的脚本。@Ekkehard.Horner:这篇文章询问HTA。我为什么要在评论中提及这一点?在发布到C线程时,我不必说我的评论是关于C的。大概说我在写HTA应用的海报可以假设我知道这是HTA应用。也许你应该在开始纠正别人之前先阅读问题。你在不知道当前主题的情况下纠正了我和面条。