VBA如何可以自动填充网页信息
我要编一个程序,可以自动登录网站下载excel文件然后处理~处理部分弄得差不多了,可以录制宏文件,然后修改一下就好了。但是登录网站这个完全没有头绪,听说是可以用vba做出...
我要编一个程序,可以自动登录网站下载excel文件然后处理~
处理部分弄得差不多了,可以录制宏文件,然后修改一下就好了。
但是登录网站这个完全没有头绪,听说是可以用vba做出来的,求高手指点~ 展开
处理部分弄得差不多了,可以录制宏文件,然后修改一下就好了。
但是登录网站这个完全没有头绪,听说是可以用vba做出来的,求高手指点~ 展开
2个回答
展开全部
可以录制宏,方法如下:
数据/导入外部数据/新建web查询。简单的数据导入基本就能解决了。
如果是需要复杂的操作,比如要输入用户名、密码、翻页复制了,这类的,就需要使用如下类似的方法了,具体问题要具体分析,但基本上应该没问题可以实现。
Sub denglu() '自动登录
Dim ie As InternetExplorer
Dim doc As HTMLDocument
Set ie = New InternetExplorer
ie.navigate "XXXX" '引号内换成登录界面的URL,就是地址栏的地址
ie.Visible = true
Do Until ie.readyState = READYSTATE_COMPLETE
DoEvents
Loop
Set doc = ie.document
Set a = doc.getElementsByName("username") '获取用户名
a.Item(0).Value = "jx123" '给用户名赋值
Set a = doc.getElementsByName("password") '获取密码
a.Item(0).Value = "jx123" '给密码赋值
Set a = doc.getElementsByName("Submit")
a.Item(0).Click '类似模拟点一下“确定”,
End Sub
这个例子只是简单模拟登陆操作,具体的名称啊什么的,可以使用网页分析工具分析获得
数据/导入外部数据/新建web查询。简单的数据导入基本就能解决了。
如果是需要复杂的操作,比如要输入用户名、密码、翻页复制了,这类的,就需要使用如下类似的方法了,具体问题要具体分析,但基本上应该没问题可以实现。
Sub denglu() '自动登录
Dim ie As InternetExplorer
Dim doc As HTMLDocument
Set ie = New InternetExplorer
ie.navigate "XXXX" '引号内换成登录界面的URL,就是地址栏的地址
ie.Visible = true
Do Until ie.readyState = READYSTATE_COMPLETE
DoEvents
Loop
Set doc = ie.document
Set a = doc.getElementsByName("username") '获取用户名
a.Item(0).Value = "jx123" '给用户名赋值
Set a = doc.getElementsByName("password") '获取密码
a.Item(0).Value = "jx123" '给密码赋值
Set a = doc.getElementsByName("Submit")
a.Item(0).Click '类似模拟点一下“确定”,
End Sub
这个例子只是简单模拟登陆操作,具体的名称啊什么的,可以使用网页分析工具分析获得
展开全部
看你是那种登陆类型了,如果是在网页上直接提交账户信息的话,用InternetExplorer对象就可以处理了。
如果是弹出式窗口提交账户信息的话,我暂时还没什么好办法,只能装一个嗅探器,把登录时的信息拦截下来,然后也可以用InternetExplorer直接浏览就行了。
但如果需要输入人工才能判断的变形验证码,就全都无能为力了
具体的代码参考以下:
Dim IE As SHDocVw.InternetExplorer
Set IE = New SHDocVw.InternetExplorer
IE.Visible = True
UserName = “xxxxx”
Password = “xxxxx”
LoginLink = "http://xxx.xxx.xxx/xxx/xxx/xxxxxx.jsp?"UserName & "&password=" & Password
IE.Navigate LoginLink
如果是弹出式窗口提交账户信息的话,我暂时还没什么好办法,只能装一个嗅探器,把登录时的信息拦截下来,然后也可以用InternetExplorer直接浏览就行了。
但如果需要输入人工才能判断的变形验证码,就全都无能为力了
具体的代码参考以下:
Dim IE As SHDocVw.InternetExplorer
Set IE = New SHDocVw.InternetExplorer
IE.Visible = True
UserName = “xxxxx”
Password = “xxxxx”
LoginLink = "http://xxx.xxx.xxx/xxx/xxx/xxxxxx.jsp?"UserName & "&password=" & Password
IE.Navigate LoginLink
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询