3

在为 VBscript 使用 HTA 用户表单时,我发现 HTA 不支持 WScript 及其对象/方法。

有没有其他方法可以创建用户表单,或者有什么方法可以让 HTA 支持 WScript?

4

2 回答 2

4

另一种方法WScript.Echo是简单地将内容添加到 DOM:

<script language="vbscript">
    dim div: set div = document.getElementById("output")
    div.innerText = "output"
</script>

<div id="output"/>

或者如果你想要一个对话框,你可以使用MsgBox()

<script language="vbscript">
    MsgBox "output"
</script>

你可以Scripting.FileSystemObject不用WScript

<script language="vbscript">
    dim fso: set fso = CreateObject("Scripting.FileSystemObject")
    dim path: path = fso.GetAbsolutePathName(".")
    '... etc
</script>
于 2013-02-12T09:46:25.457 回答
2

将您的Wscript代码放入.wsf-file 并像这样调用脚本:

shell=new ActiveXObject('WScript.Shell');
shell.Exec('WScript //Job:job_id PATH_TO_YOUR_WSF_FILE');

通过您还可以使用HTA 中不可用的.wsf方法WScript.Sleep(),例如 等。WScript.SendKeys()

MSDN 上的更多信息:Windows 脚本主机

于 2013-02-11T15:51:12.447 回答