在Excel中填入数据,用VBA进入指定网站进行查询?

在Excel中填入数据,用VBA进入指定网站进行查询填入数据,将网页数据返回到表格中,请大佬教如何写VBA代码... 在Excel中填入数据,用VBA进入指定网站进行查询填入数据,将网页数据返回到表格中,请大佬教如何写VBA代码 展开
 我来答
阳光上的桥
2020-04-29 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65809
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
VBA打开网站进行查询要受许多条件进行限制,例如网站需要登录,特别是登录要进行图形验证码填写的,编程会非常困难,甚至几乎无法实现。

VBA与浏览器交互有两种方式,一是黑客方式,使用CreateObeject("InternetExplorer.Application")打开一个浏览器对象,然后使用IE的地址栏浏览网页,以及使用IE的DOM结构对浏览器里面的输入数据、提交表单。此方式的难点在于要分析网页的DOM结构,找到填数的具体控件名称。好处是只要控件名称不变,哪怕窗口最小化、在后台、被遮挡都可以执行。

另外一种是外挂方式,使用AppActivate切换窗口,SendKeys发送按键,MouseEvent控制鼠标。此方式无需研究网页的DOM结构,但是屏幕分辨率不同、窗口位置不同、网页控件位置变化、特别是没有设置快捷键的时候,代码不得不修改。
追问
是个查询网站,不需要登录,直接将Excel中输入的数据代入网站查询框进行查询,将查询到的值返回Excel表格中
追答
如果无需登录,只查询网页内容,那么补充下面两种方式:

一是网页查询,增加一个工作表,里面选【数据】、【获取外部数据】、【来自网页】,指定网址,网页的所有内容都会在工作表里面,VBA需要做的代码一般是修改查询网址,刷新查询,使用数据。

二是使用AJAX的CreateObject("Microsoft.XMLHTTP")来进行查询,下面是我写的一个例子:
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式