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),则它会工作,但不会输入
3条答案
按热度按时间sr4lhrrt1#
您是否尝试了本页建议的**~(波浪号)**:
SendKeys
dohp0rv52#
提交填写互联网表单()
将IE变暗为对象
设置IE =创建对象("Internet资源管理器.应用程序")
即导航"http://reference.medscape.com/drug-interactionchecker"
即可见=真
IE.忙碌时
执行事件
文德
设置跟踪ID =即.文档. getelementbyid("MDIC文本框")
跟踪ID。值="阿司匹林"
即可见=真
'应用程序.发送键("{ENTER}")
即文档.父窗口.执行脚本"handleKeyDown({其中:13,防止默认:函数(){}});"
末端子组件
quhf5bfb3#
根据经验,如果您使用的是
SendKeys
,则说明您做错了什么。SendKeys
是一个极其脆弱的函数,通常还有其他“编程”方法我的建议:使用页面的javascript
我帮你分析了
http://reference.medscape.com/drug-interactionchecker
,结果是
handleKeyDown
函数绑定到onkeydown
事件,您可以直接调用
{ENTER}
键来模拟它(You可以通过在浏览器的控制台中键入来验证它是否工作)
您可以使用以下命令从vba调用该函数: