IE自动化VBA,延迟使用sendkeys立即发送密钥

时间:2012-11-01 16:56:34

标签: vba excel-vba sendkeys webautomation excel

我编写了一个代码,只要网页导航并使用VBA将其粘贴到Word文档中,就可以拍摄屏幕截图,我成功完成了这一操作,但我得到的是上次拍摄的屏幕截图,而不是现在的屏幕截图。

示例每当我按下打印屏幕时,它都会粘贴屏幕截图,而不是现在的屏幕截图。我尝试做延迟并使论证变为真,假没有效果。

这是我在Class1模块中尝试过的:

Option Explicit
Dim WithEvents ie As InternetExplorer
Dim wordapp As Object
Dim wrdDoc As Object
Dim t As Date
Sub Example()
Set wordapp = CreateObject("word.Application")

wordapp.Visible = True
Set wrdDoc = wordapp.Documents.Add
Set ie = New InternetExplorer
ie.navigate "http://www.csee.wvu.edu/~riggs/html/select_example.html"
Do Until ie.readyState = READYSTATE_COMPLETE: DoEvents: Loop
test
End Sub
Private Function href_onclick() As Boolean

Application.SendKeys "{44}"
wordapp.Selection.Paste
End Function

在模块中

Sub initialise()
Set ev = New Class1
ev.Example

End Sub

2 个答案:

答案 0 :(得分:1)

试     Application.SendKeys“{44}”,True

第二个参数告诉执行代码以等待操作完成

答案 1 :(得分:0)

经过努力,我想出了这个解决方案,我只是让粘贴选项等待3秒直到图片被加载到剪贴板中.... :)带有true选项的sendkeys根本不起作用。< / p>