Sendkey ("{ENTER}")
未将数据从excel输入网站
我需要使用它,因为表单没有单击按钮
Sub FillInternetForm()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "http://reference.medscape.com/drug-interactionchecker"
IE.Visible = True
While IE.Busy
DoEvents
Wend
Set TrackID = IE.Document.getelementbyid("MDICtextbox")
TrackID.Value = "Aspirin"
IE.Visible = True
SendKeys ("{ENTER}")
End Sub
请注意,如果我将Enter更改为其他命令,例如{BS}
或Backspace,则可以使用但不能输入
答案 0 :(得分:0)
您是否尝试〜(代字号),因为此页面建议:
答案 1 :(得分:0)
根据经验,如果您使用的是SendKeys
,那么您做错了。
SendKeys
是一个非常脆弱的功能,通常还有其他“程序化”方法
我为你分析了http://reference.medscape.com/drug-interactionchecker
,
事实证明,handleKeyDown
函数绑定到onkeydown
事件,
您可以通过直接调用
来简单地模拟{ENTER}
键
handleKeyDown({which:13,preventDefault:function(){}});
(您可以通过在浏览器的控制台中输入来验证它是否有效)
您可以使用以下命令从vba调用该函数:
IE.Document.parentwindow.execscript "handleKeyDown({which:13,preventDefault:function(){}});"
答案 2 :(得分:0)
Sub FillInternetForm()
将IE视为对象
设置IE = CreateObject(" InternetExplorer.Application")
IE.Navigate" http://reference.medscape.com/drug-interactionchecker"
IE.Visible = True
虽然IE.Busy
的DoEvents
WEND
设置TrackID = IE.Document.getelementbyid(" MDICtextbox")
TrackID.Value ="阿司匹林"
IE.Visible = True
' Application.SendKeys(" {ENTER}")
IE.Document.parentwindow.execscript" handleKeyDown({which:13,preventDefault:function(){}});"
End Sub