2016-07-22 40 views
2

你好StackOverflow社区,VBA操纵IE浏览器:正确使用SendKeys不能等待

我有一个关于使用VBA操纵IE的问题。

该代码是关于在网站的字段中写入文本。在该领域编写的唯一方法似乎是通过SendKeys(everything else failed)。这里的问题是,我必须改变之间的格式(你可以用“点击”命令,使其大胆见):

Application.SendKeys "Here is the first text", True 
IEApp.document.forms(0).elements(1).Click 
Application.SendKeys "Here is the second text", True 

可悲的是按计划进行的代码不起作用:连尽管我添加了“True”以确保它等待执行第二个命令,但它开始在第一个文本中间的某个位置写入粗体。因此,我有想法使用

Application.Wait (Now + TimeValue("0:00:01")) 

等待,但它失去了应用的重点,我不能送我到底填写表单。我的下一个想法是通过计算的东西之间不使用last命令延迟它:

c = 1000000 
For i = 1 To 100 
    c = c/7 
Next i 

这导致写出来的第一个文本的一部分,然后改变了格式和下一个文本开始中断第一一。

有人有想法吗?

回答

0

尝试

While IEapp.Busy 
doEvents 
Wend 
Application.Wait (Now + TimeValue("0:00:01")) 

在click事件之后

+0

欢迎[这么]!仅有代码的答案对其他人不太有用。请添加一些关于您的代码的解释,或者解决问题的方式。 – jpaugh

+0

可悲的是它也失去了重点,我不能把焦点放回去。 – Snovna

相关问题