ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: xmyjk

[已解决] 用EXCEL实现网页上批量查询发票(谢谢lsftest,xmlhttp,IE/webbrowser,webquery均做出)

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-3-7 23:10 | 显示全部楼层

回复 108楼 pc_12 的帖子

本帖已被收录到知识树中,索引项:网页交互
帮你改出来了

原理和步骤:
1.修改IE.DOCUMENT.BODY.INNERHTML里面关于你查询窗口的点击后转向方式,由_blank的弹出窗口,改为_self的本窗口加载,
2.判断转向后的IE.LocationURL,为http://www.sdzs.gov.cn/putong/ptfs2010.aspx,方为所需的页面
3.等待所需查询页面加载后,再进行赋值,就可以赋值成功了。

Sub Getcj3()
'InternetExplorer和WebBrowser需引用Microsoft Internet Controls(SHDocVw.dll)
'On Error Resume Next
W = 1
Dim IE As Object
Dim a As Object

Dim doc As Object  'MSHTML.HTMLDocument
Dim txt As String
Dim i As Integer
Dim t1 As String
Dim t2 As String
Dim t3 As String
Dim b As String, c As String, d As String, j, k, h
    'Cells.Clear

   Set IE = CreateObject("InternetExplorer.Application")
   IE.Navigate "http://www.sdzs.gov.cn/score/index.shtm"
   IE.Visible = 0 'False
   Do Until IE.ReadyState = READYSTATE_COMPLETE
      DoEvents
   Loop
   
   'Debug.Print IE.Document.body.innerhtml
   
   IE.Document.body.innerhtml = Replace(IE.Document.body.innerhtml, "../putong/ptfs2010.aspx" & Chr(34) & " target=_blank", "../putong/ptfs2010.aspx" & Chr(34) & " target=_self")
   'Debug.Print IE.Document.body.innerhtml
   
For Each a In IE.Document.getElementsByTagName("a")
If a.href = "http://www.sdzs.gov.cn/putong/ptfs2010.aspx" Then IE.Visible = 1: a.Click: Exit For
Next

Do Until IE.LocationURL = "http://www.sdzs.gov.cn/putong/ptfs2010.aspx"
DoEvents
Loop


Do Until IE.ReadyState = 4
DoEvents
Loop

'Debug.Print IE.Document.body.innerhtml

IE.Document.all("number").Value = *****   --------考号
IE.Document.all("Name").Value = **** --------------姓名
IE.Document.all("cardid").Value = *** ----------------密码
IE.Document.forms(0).submit

Do Until IE.ReadyState = 4
DoEvents
Loop
Application.Wait Time + TimeSerial(0, 0, 3)
DoEvents
Beep
Application.Wait Time + TimeSerial(0, 0, 1)
DoEvents
'IE.Quit
'Set IE = Nothing
   
End Sub

[ 本帖最后由 xmyjk 于 2011-3-7 23:12 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-3-8 00:35 | 显示全部楼层
太精彩了,我一定要留个脚印。以后学习!

TA的精华主题

TA的得分主题

发表于 2011-3-8 08:57 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-3-8 10:28 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-3-8 12:23 | 显示全部楼层

回复 115楼 ah2005 的帖子

确实啊,XMLHTTP效率较高

不过如果页面需要转码的话,有时候WEBQUERY略快些就是了。
可能我们自己编写的字符转码的流程比较不行吧。

TA的精华主题

TA的得分主题

发表于 2011-3-12 15:22 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 xmyjk 于 2011-1-10 19:14 发表
兄弟,你的我研究了下,也是表单,用POST方法
不过你的存在一个验证码,这个比较头疼,除了验证码的,我都能搞定,验证码的还是需要高手出来帮个忙。
有人能帮忙吗,谢谢了。

噢,那个验证码好像没用,可以再源 ...


前辈,今天又要麻烦您了,刚看到您发表的这个帖子,不知道能不能请您做个河南地税的查询,也是有验证码的,不知道和楼上一样不一样。谢谢前辈
http://www.ha-l-tax.gov.cn:8089/fpcx/query.jsp

河南地税.rar

7.11 KB, 下载次数: 92

TA的精华主题

TA的得分主题

发表于 2011-3-12 15:46 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-3-12 16:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 puresway 于 2011-3-12 15:22 发表


前辈,今天又要麻烦您了,刚看到您发表的这个帖子,不知道能不能请您做个河南地税的查询,也是有验证码的,不知道和楼上一样不一样。谢谢前辈
http://www.ha-l-tax.gov.cn:8089/fpcx/query.jsp

顶一下!

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-3-12 21:09 | 显示全部楼层

回复 119楼 puresway 的帖子

之前有个rig的网友
有让我尝试帮他做做看,我做不出来,让他单独发帖了
他的帖见:http://club.excelhome.net/viewth ... 4547&highlight=

现在还没解决出来,你可以去那个贴,一起帮他顶一下。

河南地税的验证机制比较严谨,很难突破。

TA的精华主题

TA的得分主题

发表于 2011-3-14 12:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
这个强,要顶一顶。。。。。。。。。。。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 16:48 , Processed in 0.032849 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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