Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 7277|回复: 9

[分享] [原创心得]利用IE提交网页数据二种相对高效的方式

[复制链接]
发表于 2012-3-4 21:56 | 显示全部楼层 |阅读模式
IE提交数据效率较差,但内部运行的COOKIE等等会话验证却不需用使用者额外去处理,所以一切都变得很简单,非常适合初学者。
而VBA调用IE提交网页数据也有各种各样的方式,因人而异,有人非要模拟去单击网页的某个按钮,有人用getElementById去寻找某个标签。。但这些方式几乎都是所有方式中最低效的。如果非要用IE不可,也可以在IE之中寻找比较高效的。
下面以登录EP为例,分享二种方式:

1。利用HTML事件自动提交:
  1. Private Const sUser As String = "aaa" '改为你的用户名
  2. Private Const sPsw As String = "123456" '改为你密码
  3. Sub 登录EP()
  4. Dim objIE As Object
  5. Dim sCr As String
  6. Set objIE = CreateObject("InternetExplorer.Application")
  7. sCr = Chr(34)
  8. With objIE
  9. .Navigate "about:blank"
  10. With .Document
  11. .Open
  12. .write "<html><head><meta http-equiv=" & sCr & "Content-Type" & sCr & " content=" & sCr & "text/html; charset=gbk" & sCr & " /></head><body onload=" & sCr & "abc.submit();" & sCr & "><form name=" & sCr & "abc" & sCr & " action=" & sCr & " http://www.excelpx.com/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes" & sCr & " method=" & sCr & "post" & sCr & " ><input style=" & sCr & "width: 0px;height: 0px;" & sCr & " name=" & sCr & "username" & sCr & " type=" & sCr & "text" & sCr & " value=" & sCr & "" & sUser & "" & sCr & "/><input style=" & sCr & "width: 0px;height: 0px;" & sCr & " name=" & sCr & "password" & sCr & " type=" & sCr & "password" & sCr & " value=" & sCr & "" & sPsw & "" & sCr & " /></form></body></html>"
  13. .Charset = "gbk"
  14. .Close
  15. End With
  16. .Visible = True
  17. End With
  18. Set objIE = Nothing
  19. End Sub

复制代码
2。利IE对象的Navigate来发送
  1. Const sN = "aaa" '改为用户名
  2. Const sP = "123456" '密码
  3. Const URL = "http://www.excelpx.com/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes"
  4. Private Sub Command1_Click()
  5. Dim objIE As Object
  6. Dim btPost() As Byte
  7. Dim sHeaders As String

  8. Set objIE = CreateObject("InternetExplorer.Application")
  9. btPost = StrConv("fastloginfield=username&username=" & sN & "&password=" & sP & "&quickforward=yes&handlekey=ls&questionid=0&answer=", vbFromUnicode)
  10. sHeaders = "Content-Type: application/x-www-form-urlencoded" & vbCrLf

  11. With objIE
  12. .Navigate "about:blank"
  13. .Document.Charset = "gbk"
  14. .Navigate URL, 0, "", btPost, sHeaders
  15. .Visible = True
  16. End With
  17. Set objIE = Nothing
  18. End Sub
复制代码
示例: 登录EP.rar (8.51 KB, 下载次数: 115)

评分

参与人数 2 +21 收起 理由
bbwsj + 3 飞版总有好东东
windimi007 + 18 赞一个!

查看全部评分

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-3-4 22:16 | 显示全部楼层
感谢楼主分享,先收藏了,慢慢学!{:3512:}
回复

使用道具 举报

发表于 2012-3-4 22:28 | 显示全部楼层
回复

使用道具 举报

发表于 2012-3-4 23:03 | 显示全部楼层
向飞版学习来了      
回复

使用道具 举报

发表于 2012-12-15 14:33 | 显示全部楼层
这个是需要学习的
回复

使用道具 举报

发表于 2014-1-4 18:51 | 显示全部楼层
学习了,谢谢楼主分享!
回复

使用道具 举报

发表于 2015-3-16 18:49 | 显示全部楼层
感谢分享,下来慢慢学!
回复

使用道具 举报

发表于 2015-4-20 13:13 | 显示全部楼层
你好,麻烦下能改下这个表的 多项权限么!普通用户能和  高级用户一样的操作么!谢谢了!!!

用户权限管理(1).rar

178.39 KB, 下载次数: 10

回复

使用道具 举报

发表于 2017-9-21 17:26 | 显示全部楼层
学习了
回复

使用道具 举报

发表于 2017-9-21 20:40 | 显示全部楼层
学习学习,楼主辛苦了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-28 15:50 , Processed in 0.516045 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表