ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > 如何运用VBA制作福建省增值税票查询工具

如何运用VBA制作福建省增值税票查询工具

作者:绿色风 分类: 时间:2022-08-18 浏览:150
楼主
xmyjk
Q:如何运用VBA制作福建省增值税票查询工具?

A:
  1. Option Explicit
  2. Sub test()
  3. Dim tmp() As String, i As Integer, arr() As String, xmlhttp As Object, N As Long, T, P&
  4. Dim FPDM, FPHM, DJH, J%, FD As String, FH As String, DJ As String, url As String

  5. FPDM = Range([A1], [A65536].End(3)).Value
  6. FPHM = Range([B1], [B65536].End(3)).Value
  7. DJH = Range([C1], [C65536].End(3)).Value
  8. P = ([A65536].End(xlUp).Row - 2) \ 10 + 1
  9. Set xmlhttp = CreateObject("Microsoft.XMLHTTP")
  10. For N = 1 To P
  11.     If N <> P Then
  12.        FD = FPDM((N - 1) * 10 + 2, 1)
  13.        FH = FPHM((N - 1) * 10 + 2, 1)
  14.        DJ = DJH((N - 1) * 10 + 2, 1)
  15.        For J = 2 To 10
  16.           FD = FD & ";" & FPDM((N - 1) * 10 + J + 1, 1)
  17.           FH = FH & ";" & FPHM((N - 1) * 10 + J + 1, 1)
  18.           DJ = DJ & ";" & DJH((N - 1) * 10 + J + 1, 1)
  19.        Next
  20.     Else
  21.        FD = FPDM((N - 1) * 10 + 2, 1)
  22.        FH = FPHM((N - 1) * 10 + 2, 1)
  23.        DJ = DJH((N - 1) * 10 + 2, 1)
  24.        If (UBound(FPDM) - 2) Mod 10 + 1 > 1 Then
  25.           For J = 2 To (UBound(FPDM) - 2) Mod 10 + 1
  26.              FD = FD & ";" & FPDM((N - 1) * 10 + J + 1, 1)
  27.              FH = FH & ";" & FPHM((N - 1) * 10 + J + 1, 1)
  28.              DJ = DJ & ";" & DJH((N - 1) * 10 + J + 1, 1)
  29.           Next
  30.        End If
  31.     End If
  32.     url = "http://www.fj-n-tax.gov.cn/wssw/jsp/common/query/fpcy02.jsp?fpdm=" & FD & "&fphm=" & FH & "&xfswdjh=" & DJ
  33.     FD = "": FH = "": DJ = ""
  34.     With xmlhttp
  35.         .Open "get", url, False
  36.         .send
  37.         tmp = Filter(Split(Replace(Replace(.responsetext, "blue-td-title", ""), "&nbsp;", ""), "</td>"), "class=""blue-td")
  38.     End With
  39.     url = ""
  40.     ReDim arr(UBound(tmp) \ 6, 5)
  41.     For i = 0 To UBound(tmp)
  42.        T = Split(tmp(i), ">")
  43.        arr(i \ 6, i Mod 6) = T(UBound(T))
  44.        Erase T
  45.     Next
  46.     Cells((N - 1) * 10 + 2, 5).Resize(UBound(arr) + 1, UBound(arr, 2) + 1) = arr
  47.    
  48.     Erase tmp, arr
  49. Next
  50. [a:J].Columns.AutoFit
  51. Erase FPDM, FPHM, DJH
  52. Set xmlhttp = Nothing
  53.    
  54. MsgBox "Ok"
  55. End Sub

福建省增值税票查询工具.zip
2楼
亡者天下
过来学习一下!
3楼
纵鹤擒龙水中月
学习一下!

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap