VBA来操纵IE浏览器:正确使用SendKeys不能等待

你好,StackOverflow社区,

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

代码是关于在网站的字段中写文本。 在字段中写入的唯一方法似乎是通过SendKeys( 一切都失败了 )。 这个问题是,我必须改变之间的格式(你可以看到用“点击”命令使其为粗体):

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

令人遗憾的是,代码无法按计划运行:尽pipe我添加了“True”以确保它等待执行第二个命令,但它开始在第一个文本中间的某个位置写入粗体。 所以我有这个想法,等待使用

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

但它失去了应用程序的重点,我无法发送我填写的表格。 我的下一个想法是通过在不使用最后一个命令的情况下计算一些内容来延迟它:

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

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

有人有一个想法?

尝试

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

点击事件后