在vbscript中使用HTA

时间:2013-02-11 13:58:03

标签: vbscript hta wsh

使用HTA userform for VBscript时,我发现HTA不支持WScript及其对象/方法。

是否有任何其他方法可以创建用户表单,或者是否有任何方法可以使HTA支持WScript?

2 个答案:

答案 0 :(得分:2)

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>

答案 1 :(得分:1)

将您的Wscript代码放到.wsf - 文件中并按如下方式调用脚本:

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

通过.wsf您还可以使用HTA中没有的WScript.Sleep()WScript.SendKeys()等方法。

MSDN上的更多信息:Windows Script Host