vbs文件名为Main.vbs。现在我将它嵌入到.html文件中,如下所示:
<HTML>
<HEAD>
<script type="text/vbscript">
sub main
const runminimized = 7
const wait_for_end = false
Set wshShell = CreateObject("WScript.Shell")
WshShell.Run "D:\VA\Main.vbs",runminimized, wait_for_end
end sub
</script>
</HEAD>
<BODY>
Please make sure that the reuired Excel sheet which you are giving me to process isn in the proper folder. And first sheet has all the required columns - missing any of them could leads the Scripts to be failed.
<button onclick="vbscript:main" >Click here to Run</button>
</BODY>
</HTML>
我想设置一个在页面上运行的Timer,直到所有脚本结束。可以在这里设置吗?
答案 0 :(得分:0)
我在之前的回答中犯了一个小错误,如果你想等待脚本结束,wait_for_end的值必须为True,所以不需要计时器。后处理可以在WshShell.Run之后立即处理 如果您需要在Web脚本中使用计时器,您可以使用Window.setTimeout,来自vbscript的睡眠将无效。 有关详细信息,请参阅http://www.w3schools.com/jsref/met_win_settimeout.asp。
你自己在上面的脚本中犯了一个错误,如果你的脚本叫做test,你的按钮事件必须是vbscript:test,或者你必须将sub重命名为main
如果它是你需要的进度条,在vbscript中实现起来并不容易,我见过的最好的例子是http://www.northatlantawebdesign.com/index.php/2009/07/16/simple-vbscript-progress-bar/
但如果您事先不知道所需的时间,那么准确地显示您的脚本如何进展并不容易,通常您应该分段处理您的流程并更新每个步骤的栏。