因为工作需要前几天做了个导表脚本 XLS2TXT
但是当表很多时有个纠结的问题,不显示EXCEL会让人不知道进展,还以为卡死了。
显示excel 不停的刷表格,很不美观。
我是无法接受这种情况的,所以硬着头皮做了个进度条。这里只是进度条的部分,还没有放进导表工具里。
些脚本的编写中学到的知识点如下:
1、VBS中JS中环境变量的应用
2、VBS调用MSHTA 只所以没有写临时文件,是因为只要有写操作很容易被当成病毒。
3、MSHTA 参数有字符数量的限制,于是在HTA中只简单的写了个HTML的主体加上动态创建脚本的功能(脚本来自环境变量)。这样就可以完成进度条UI的需要了。环境变量到底能传多长的字符我没有测试过,起码现在是够用了。(实在不行可写个循环往里慢慢加吧,不知可行不)
4、VBS调用MSHTA再调用javascript 这个字符串拼接是个大大的头痛。(要是有个自动转换的工具就好了。我这里是一点一点试的)
5、Exec 方法可以返回进程ID (这样进度条被关掉,VBS就可以停工了)
Set ws = CreateObject("WScript.Shell")
Set ws = CreateObject("WScript.Shell")
Set oExec = ws.Exec( "mshta javascript:""
VBS调用MSHTA演示!网上好多VBS的这里用JS的吧!""" )MsgBox oExec.ProcessID
Set ws = CreateObject("WScript.Shell")
'创建