vba程序如何延时,vba sleepp无法使用,应用场景是keybd_event模拟后获取窗口句柄

跪求各位大神最近因为VBA调用IE的問题弄得焦头烂额,深夜3点还是睡不着小弟VBA小白一枚,在大量百度各种求救无奈之下发此贴肯请各位老师帮忙看看下面代码的问题,萬分感激谢谢大家了。

DoEvents '循环交回工作权限给系统,以免软死机

'问题一:跑到这里能够运行,IE可见,填充条件和跳转正常.但是如果在运行前打开了其它网页,调用的IE会出现不弹出的情况,一直在"开始"任务栏闪烁提示,导致下一句获取"文件下载"窗口句柄一直循环.FindWindow值为0

'反复测试,发现在打开:Visual Basic 编辑器的情况下运行会正常弹出IE,且代码运行正常.百思不得其解,PS:取消了IE阻止弹出窗口还是出错

ie.Quit '问题二:这一句也很奇怪,有时候会出现无法关闭的情況,因为后续会加入循环,这样会导致IE崩溃

'问题三:Workbooks.Open会出现错误,提示找不到文件,但是明明就有啊,去掉前面 Kill (book)的部分也不行,但是在加了"获取"下载完毕"窗口句柄"这一部分后就正常了,真的很神奇.

'综上:SendKeys感觉相当不稳定,各种问题,有时候邮箱弹出一个消息,活动窗口发生变化,立马出错,请问大神有无解决方案,另外是否可以通过:API 的 URLDownloadFile或者模拟鼠标点击来实现下载求大神指点

帮你找到的看对你有没有用

在VBΦ实现延时(等待)的几种方法

在程序流程中经常要延时一段时间后再继续往下执行,在VB中常用的有以下几种方法(因为Timer控件打乱了程序嘚流程所以一般不用它):

毕业于西北大学计算机网络技术专业现在在西安电力学院进行网络推广维护工作!


  1. 打开Excel 2013程序,单击菜单栏中的“文件”,如下图:

  2. 在弹出的菜单中单击“选项”,如下图:

  3. 在弹出的菜单中单击“高级”如下图:

  4. 在选项框中找到“禁用图形硬件加速”,单击在这个选项前面的方框如下图:

  5. 设定完成后单击“确定”按钮。如下图:

我要回帖

更多关于 vba sleep 的文章

 

随机推荐