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-5-20 23:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖已被收录到知识树中,索引项:网页交互
由于东莞地税有验证码的变动,重新做了,代码如下。
  1. Option Explicit
  2. Sub Test()
  3.     Dim tmp() As String, i As Integer, arr() As String, xmlhttp As Object, N As Long, TMP1() As String, NM As Long, p As Long, k As Integer, Fpdm(1 To 10) As String, Fphm(1 To 10) As String
  4.     Dim Url As String, yzm As String, nyzm As String
  5.                               
  6.     N = [a65536].End(xlUp).Row
  7.     NM = Application.Ceiling((N - 1) / 10, 1)
  8.    
  9.     For p = 1 To NM
  10.      
  11.     Cells(2, 3).Value = "正在查询,稍等..."
  12.      
  13.      For k = 1 To 10
  14.         Fpdm(k) = Cells((p - 1) * 10 + k + 1, 1).Value
  15.         Fphm(k) = Cells((p - 1) * 10 + k + 1, 2).Value
  16.      Next k
  17.      
  18.      For k = 1 To 10
  19.         Url = Url & "&fpdm" & k & "=" & Fpdm(k) & "&fphm" & k & "=" & Fphm(k)
  20.      Next k
  21.      
  22.      Erase Fpdm
  23.      Erase Fphm
  24.      
  25.      Url = "http://www.dgds.gov.cn/wssw/fpcjController.do?cmd=fpcjcheck" & Url
  26.      
  27.      Set xmlhttp = CreateObject("Microsoft.XMLHTTP")
  28.      With xmlhttp
  29.         .Open "get", "http://www.dgds.gov.cn/wssw/jsp/yzmForCommonQuery.jsp", False
  30.         .send
  31.         yzm = Split(Split(.responsetext, "checkcode")(2), ".png")(0)
  32.         nyzm = cyzm(yzm)
  33.      End With
  34.      Url = Url & "&yzm=" & nyzm
  35.          
  36.      With xmlhttp
  37.         .Open "get", Url, False
  38.         .send
  39.         tmp() = Split(Replace(Replace(Replace(.responsetext, vbCrLf, ""), "</span>", ""), "&#160;", ""), "<td description=")
  40.      End With
  41.      ReDim arr(UBound(tmp) \ 7, 6)
  42.      For i = 1 To UBound(tmp)
  43.         TMP1() = Split(Split(tmp(i), "</td>")(0), ">")
  44.         arr((i - 1) \ 7, (i - 1) Mod 7) = TMP1(UBound(TMP1))
  45.         Erase TMP1
  46.      Next i
  47.    
  48.      Cells((p - 1) * 10 + 2, 4).Resize(UBound(arr, 1) + 1, UBound(arr, 2) + 1) = arr
  49.    
  50.      Erase tmp
  51.      Erase TMP1
  52.      Erase arr
  53.      Set xmlhttp = Nothing
  54.      Url = ""
  55.    
  56.     Next p
  57.    
  58.     Cells(2, 3).Value = "查询状态栏"
  59.    
  60.     [D:J].Columns.AutoFit
  61.     MsgBox "Ok"

  62. End Sub

  63. Function cyzm(yzm As String) As String
  64. Dim c As Integer, d(1 To 4) As String

  65. For c = 1 To 4
  66.   If Val(Mid(yzm, c, 1)) - c >= 0 Then
  67.      d(c) = Trim(Str(Val(Mid(yzm, c, 1)) - c))
  68.   Else
  69.      d(c) = Trim(Str(Val(Mid(yzm, c, 1)) - c + 10))
  70.   End If
  71. Next

  72. cyzm = Join(d(), "")
  73. End Function
复制代码

[ 本帖最后由 xmyjk 于 2011-5-20 23:36 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-20 23:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
东莞地税的新附件,大家试看看。

[ 本帖最后由 xmyjk 于 2011-5-20 23:37 编辑 ]

东莞地税NEW.rar

19.08 KB, 下载次数: 470

TA的精华主题

TA的得分主题

发表于 2011-6-19 20:17 | 显示全部楼层
神贴,长见识了,非常有帮助。学习了,感谢楼上的诸位老师。

TA的精华主题

TA的得分主题

发表于 2011-6-20 12:48 | 显示全部楼层

回复 142楼 xmyjk 的帖子

老师,能不能帮忙弄个湖北省国税查询的工具呀?http://swcx.hb-n-tax.gov.cn/hbgs/invoice/

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-6-20 13:15 | 显示全部楼层
原帖由 ugyun 于 2011-6-20 12:48 发表
老师,能不能帮忙弄个湖北省国税查询的工具呀?http://swcx.hb-n-tax.gov.cn/hbgs/invoice/


这个搞不定,图片验证码的,爱莫能助呀。

TA的精华主题

TA的得分主题

发表于 2011-6-21 18:11 | 显示全部楼层
大侠,请问能够将验证码图片直接读取或下载到excel窗体中吗?
例如广东地税的“电子发票数据查询”:http://www.gdltax.gov.cn/portal/ ... BE70PDDIHG1YLWU.htm

网站查询,有时超时或网络问题出错了,又要重新输入,比较痛苦,在excel做起码不用重输发票资料,不知有没限定查询10条数据一个验证码?没限制的话就好了

它的网站现在除了电子发票的是图片验证码外,其余的查询暂时还是之前的数字形式。

[ 本帖最后由 bingooo82 于 2011-6-21 18:13 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-7-2 00:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 xmyjk 于 2011-1-8 18:08 发表
已经整理完毕,已建电梯了哈。

由于工作性质,经常要查验发票
需要在厦门国税(http://www.xm-n-tax.gov.cn/nsfw/fpcx/fpzwcx/)这个网站里面查询发票状况
由于发票量每次都很大,一张一张手工查非常费时间,效 ...


偶遇,来的早不如来得巧 ! 留个记号,日后肯定有用。

TA的精华主题

TA的得分主题

发表于 2011-7-2 10:52 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
真好想学习这方面的知识,谢谢了!

TA的精华主题

TA的得分主题

发表于 2011-7-20 16:12 | 显示全部楼层

回复 1楼 xmyjk 的帖子

能不能实现用EXCEL实现网页上批量跟踪查询EMS邮件包裹发送状态呀?相信这个也有很多人需要的

TA的精华主题

TA的得分主题

发表于 2011-7-29 08:42 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

网页输入数据,求助

前几天这个网页还能输入数据,可不知怎么了这几天就不行了,求高手帮看一下,先谢了。

test.rar

9.11 KB, 下载次数: 31

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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