因为工作需要前几天做了个导表脚本 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")

'创建用户变量

set oshell=createobject("wscript.shell")

set env=oshell.environment("user")

'在HTA中动态创建脚本加载 jerryHtml_env 的内容

myHtml = "mshta javascript:"""""

env("jerryCount_env") = 1

Set oExec = ws.Exec(myHtml)

'jerryHtml_env: HTA的主体,通过js动态创建进度条写入

env("jerryHtml_env") ="var mydiv = document.createElement('div');mydiv.innerHTML=""

" _

& "" _

& "o(∩_∩)o 导表中。。。

& """;" _

& "window.resizeTo(screen.availWidth/2, screen.availHeight/4);document.title = '策划导表,闲人回避!';document.body.appendChild(mydiv);var wsh=new ActiveXObject('WScript.Shell');window.setInterval(function(){var str=wsh.Environment('user').Item('jerryCount_env');if(str=='100%完成')window.close();document.getElementById('pID').style.width=str;document.getElementById('ptx').innerHTML=str;},50);"

'jerryCount_env:VBS里的进度参数。HTA中 window.setInterval()每半秒读一次刷新进度条。

'循环,测试用

For i = 0 To 100 Step 10

WScript.Sleep 50

env("jerryCount_env") = i&"%"

Next

'自已来控制HTA的关闭: if(str=='100%完成')window.close()。要注意的是,先判断是否满足,再设置进度的宽度。因为 width='100%完成'可不行

env("jerryCount_env") = "100%完成"

'显示 HTA的进程ID。到100%可以杀进程。也可以到HTA中去判断自行关闭。

MsgBox "HTA的进程ID:" & oExec.ProcessID & chr(13)&"VBS中可以进行判断,如果进度条窗口被关闭,则结束VBS!",,"策划导表,闲人回避!"

vbs如何写进度条_VBS 调用 HTA 实现进度条加载相关推荐

  1. android源生进度条,如何使用源生css3实现圆环加载进度条

    这次给大家带来如何使用源生css3实现圆环加载进度条,使用源生css3实现圆环加载进度条的注意事项有哪些,下面就是实战案例,一起来看一下. 效果图: 当时的要求是让进度条以扇形渐变的效果加载.我想了半 ...

  2. 新手教程:不写JS,在MIP页中实现异步加载数据

    从需求谈起:在 MIP 页中异步加载数据 MIP(移动网页加速器) 的 加速原理 除了靠谱的 MIP-Cache CDN 加速外,最值得一提的就是组件系统.所有 JS 交互都需要使用 MIP 组件实现 ...

  3. 分享下自己写的一个微信小程序请求远程数据加载到页面的代码

    分享下自己写的一个微信小程序请求远程数据加载到页面的代码 1  思路整理 就是页面加载完毕的时候  请求远程接口,然后把数据赋值给页面的变量 ,然后列表循环 2 js相关代码  我是改的 onload ...

  4. mvvm 耗时加载进度条_ZK的实际应用:MVVM –加载和渲染数据

    mvvm 耗时加载进度条 先前的文章简要介绍了RIA框架ZK,以及其CSS Selector启发的控制器机制如何通过使在控制器类中引用UI组件的任务变得相对灵活来减轻UI更改所带来的一些负担. 然后, ...

  5. html canvas直线进度条,js+HTML5 canvas 实现简单的加载条(进度条)功能示例

    本文实例讲述了js+HTML5 canvas 实现简单的加载条(进度条)功能.分享给大家供大家参考,具体如下: www.jb51.net canvas实现加载条动画 /* * 获取canvas, ca ...

  6. html5 圆形加载进度条,纯css3超酷圆形Loading加载进度条特效

    这是一款效果炫酷的纯css3圆形Loading加载进度条特效插件.该loading特效使用:before和:after伪元素来制作动画d的不同部分,然后给他们设置absolute定位和CSS tran ...

  7. flash调用swf文件服务器,FLASH如何加载(调用)外部SWF文件

    这久遇到要在FLASH里面调用外部的SWF文件,在网上找了好久,介绍可是真多啊,用了快一天时间才学会!原来很简单,只不过走了很多弯路!现把方法介如下,希望后来人能少走些弯路! (转贴) 做FLASH站 ...

  8. flash调用swf文件服务器,浏览器如何加载Flash文件? (SWF)

    加载Flash文件有很多部分,更常见的是HTML页面. 我将从HTML页面的顶部开始,我敦促其他人纠正我可能犯的任何错误. 加载页面 当收到HTML页面时,浏览器会将其解析为文档对象模型(DOM),以 ...

  9. 写给父亲的语音计算器(位图的加载,忽然领悟了资源编译器的加载c#,五)

    用小画家制作了,加,减,乘,除,0,1,2,3,4,5,6,7,8,9,=,(,)等,手绘的,48*48位图,保存为.bmp形式. 加载是这样的,好像抄写连连看程序时,抄过,直接上代码: string ...

最新文章

  1. Eclipse 中导入jar包
  2. jodd-servlet工具集锦
  3. fx5u模拟量如何读取_FX5U系列三菱产品 使用模拟量时的注意事项
  4. 用户自定义类型(User-defined Type)参数的传递
  5. valueOf()、toString()
  6. rocksdb原理_教你玩转MyRocks/RocksDB—STATISTICS与后台线程篇
  7. 限定概率抽奖_守护星已点亮,内测皮肤得到没?从天美抽奖概率分析:地址什么梗...
  8. array.slice_Ruby中带有示例的Array.slice()方法
  9. wsdl地址_WSDL文档结构解析
  10. Python常见的17个错误
  11. 如何正确地使用#region指令
  12. Zigbee和wifi信道设置避免同频干扰
  13. 小程序开发之AppID获取
  14. 关于在控制面板上软件卸载失败的问题
  15. 微信跳一跳刷分代码剖析
  16. WebSocket无法连接问题
  17. python resultful APi
  18. git push -u origin master提示 fatal: repository 'https://gitlab.com/xx.git/' not found
  19. HTC Vive 手柄
  20. 大学计算机基础清华大学出版社 山东省高等学校教学改革项目,清华大学出版社-图书详情-《大学计算机基础(第2版)》...

热门文章

  1. Vuex State模块化
  2. VUEJS-checkbox全选全不选
  3. 数字密码输入框对输入内容进行隐藏
  4. cmder上传文件到服务器,wget 结合everything上传文件到服务器端(以及更改ip地址)...
  5. javaweb简单的登录增删改查系统_利用python操作小程序云数据库实现简单的增删改查!
  6. CSS3属性之——filter
  7. typescript基本类型demo
  8. vue 路由按需加载
  9. 解决上传apk文件后为vnd.android.package-archive格式的问题
  10. Create-React-App脚手架使用方法