我目前正致力于开发一个界面,让用户可以选择他们想要生成哪个报告,但是我对“WScript"”的声明有疑问。 。
我也附上了错误。由于我在线之间固定了间距,所以不要注意线号 - 我用粗线表示我错误的线路。非常感谢任何帮助(我能够正确地格式化我的问题)。
<TabControl Template="{StaticResource CustomTabControlTemplate}">
...
</TabControl>
答案 0 :(得分:2)
使用Windows脚本宿主(cscript.exe或wscript.exe)运行脚本时,会出现内置的WScript对象。另一方面,HTA文件基本上运行IE(尽管在允许本地文件系统和COM对象访问的模式下)。没有内置的WScript对象,尽管可以从WSH中使用的COM对象也可以在HTA中使用(例如,我在using the WScript.shell object上快速找到这篇文章)。
您需要在HTA中以类似Web的方式执行操作。使用setTimeout或类似的东西来延迟功能直到以后。我快速搜索了如何从HTA中获取当前路径并找到a page,尽管可能还有其他方法。
答案 1 :(得分:0)
以下是一个示例HTA文件,其中显示了WScript.ScriptFullName
和WScript.Sleep
方法的解决方法:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WScript workaround</title>
<HTA:APPLICATION
ID="objHTA"
>
</head>
<body>
<script Language="VBScript">
' output full path to HTA
document.write GetFullName()
' wait 5 seconds and close
Sleep 5
self.close
Function GetFullName()
GetFullName = Replace(objHTA.commandLine,"""","")
End Function
Sub Sleep(lngDelay)
CreateObject("WScript.Shell").Run "Timeout /T " & lngDelay & " /nobreak", 0, True
End Sub
</script>
</body>
</html>