Vbscript 关闭启动屏幕时出现类型不匹配错误

Vbscript 关闭启动屏幕时出现类型不匹配错误,vbscript,type-mismatch,Vbscript,Type Mismatch,我在启动我的短bat文件时使用了一个来自的代码来显示一个启动屏幕,它从服务器复制一些文件,需要15-20秒,以防止不耐烦的用户多次单击。我得到一个类型不匹配的VBScript错误报告,第1行,字符1,代码0。飞溅窗口正常加载,但当它应该关闭时,错误出现,飞溅保持在屏幕上(尽管蝙蝠的其余部分正常运行) 这是vbscript代码 <script language="VBScript"> Sub Window_OnLoad ' Resize and position

我在启动我的短bat文件时使用了一个来自的代码来显示一个启动屏幕,它从服务器复制一些文件,需要15-20秒,以防止不耐烦的用户多次单击。我得到一个类型不匹配的VBScript错误报告,第1行,字符1,代码0。飞溅窗口正常加载,但当它应该关闭时,错误出现,飞溅保持在屏幕上(尽管蝙蝠的其余部分正常运行)

这是vbscript代码

<script language="VBScript">
    Sub Window_OnLoad
        ' Resize and position the window
        width = 500 : height = 400
        window.resizeTo width, height
        window.moveTo screen.availWidth\2 - width\2, screen.availHeight\2 - height\2

        ' Automatically close the windows after 5 seconds
        idTimer = window.setTimeout("vbscript:window.close", 15000)
    End Sub
</script>
导致错误的原因

这只发生在一些计算机上,我还没有发现它们的共同点,它们运行的是Windows7或Windows8。我发现它可以做一些事情,只是不确定它是否适用于这里,因为没有使用数组(AFAIK)


在这个网站上,建议在
idtimer
前面设置
Set
-不为我工作

您可以查看下面的链接-可能会提供一些见解


我可以确认,包含示例代码的简单测试HTA文件在Win7 x64上运行良好

由于您的类型不匹配专门指的是“vbscript”,因此我认为超时调用的
vbscript:
部分是问题所在。单词
vbscript
被逐字解释,冒号分隔下一条语句。可能某些VBScript运行时在全局级别没有名为
VBScript
的变量

当我将字符串改为简单的“window.close”时,效果也很好。试一试,看看是否有帮助。此外,当我将调用更改为明显错误时,如“abc:window.close”,则会出现您描述的类型不匹配错误


我相信使用
vbscript:
javascript:
前缀仅在HTML锚HREF属性和类似属性中是必需的(尽管许多浏览器出于向后兼容性的考虑允许使用前缀)。

您使用的代码段来自HTA。你也在写HTA吗?还是纯VBScript?此外,请不要解释错误。显示问题中完整的、未更改的错误消息(错误文本、编号、所有内容)。我使用的是整个hta文件。我有一张来自错误的图像,但是是斯洛文尼亚语-只是确认“Neuejemanje tipov”=“类型不匹配”
idTimer = window.setTimeout("vbscript:window.close", 15000)