ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[讨论] 解析网页源码,获得所需数据。

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2018-2-20 21:21 | 显示全部楼层
赞一个,值得学习。

TA的精华主题

TA的得分主题

发表于 2018-2-21 02:03 | 显示全部楼层
看来要学习的东西太多了。选收藏,每周弄会一个,就满足了。

TA的精华主题

TA的得分主题

发表于 2018-3-22 16:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Kaohsing 发表于 2017-11-14 10:47
文接上楼
  公告大全部分代码(为了避免或许麻烦,只贴截图)

Kaohsing老师,问一下这两个什么区别啊?
createobject("msxml2.xmlhttp")和CreateObject("WinHttp.WinHttpRequest.5.1")

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-3-22 20:03 来自手机 | 显示全部楼层
dl0506 发表于 2018-3-22 16:51
Kaohsing老师,问一下这两个什么区别啊?
createobject("msxml2.xmlhttp")和CreateObject("WinHttp.WinH ...

后者不读取缓存,可以模拟重定向。

TA的精华主题

TA的得分主题

发表于 2018-3-29 21:36 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-3-29 22:39 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
地天泰 发表于 2018-3-29 21:36
老师厉害了。我要多读几遍,看看能否弄明白。

多读几遍,其义自见。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-7 09:27 | 显示全部楼层
记录一下:
Sub kao_js()
    Application.ScreenUpdating = False
    Dim html As Object, js As Object
    Dim strText$, I%
    Set html = CreateObject("msxml2.xmlhttp")
    Range("a1").Resize(1, 10) = Split("法院 法庭 开庭日期 排期日期 案号 案由 承办部门 审判长/主审人 公诉人/原告/上诉人/申请人 被告/被告人/被上诉人/被申请人")
   
    For I = 1 To InputBox("数据大约有12k条,下载较慢,页数范围在1-23", "获得查询的页数", 10)
        html.Open "POST", "http://www.zjsfgkw.cn/Notice/NoticeKTSearch", False
        html.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
        html.send ("pageno=" & I & "&pagesize=500&cbfy=%E5%85%A8%E9%83%A8&")
        Application.Wait Now() + VBA.TimeValue("00:00:02")
        strText = html.responseText
        If InStr(strText, "list") = False Then GoTo ghb
        Set js = CreateObject("ScriptControl")
        js.Language = "JavaScript": js.AddObject "g", Range("A1").Offset((I - 1) * 500)
        js.eval "o=" & strText & ";l=['FY','FT','KTRQ','PQRQ','AH','AY','CBBM','SPZ','YG','BG'];a=o.list;for(i=0;i<a.length;i++){for(k=0;k<l.length;k++){g(i+2,k+1)=a[i][l[k]];}};"
         Application.StatusBar = I * 500 & " 条数据ok!......"
    Next
    Application.ScreenUpdating = True
ghb:
    Application.StatusBar = "ok!"
    Application.Wait Now() + VBA.TimeValue("00:00:03")
    Application.StatusBar = False
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-9 16:57 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
'//实现array 的isarray方法

Sub 扩展方法()
   
    Set js = CreateObject("msscriptcontrol.scriptcontrol"):    js.Language = "javascript"
   
    js.addcode "if (!Array.isArray) {" _
        & " Array.isArray = function(arg) { return Object.prototype.toString.call(arg) === '[object Array]';  };}" _
        & "  function judge(){var a=[1,2,3];if (Array.isArray(a)){return 'Yes,I am Array'}return 'no';}"
   
    cc = js.eval("judge()")
    MsgBox cc
   
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-8-11 22:05 | 显示全部楼层

  1. Sub 扩展array_from_isArray_js()
  2.     Dim js As Object
  3.     Dim s  As String
  4.     Set js = CreateObject("msscriptcontrol.scriptcontrol")
  5.     js.Language = "javascript"
  6.     s = "if (!Array.from){" _
  7.         & " Array.from = function (s){ if( typeof(s) == 'string'){ var arr = []; for(var i=0,len=s.length; i <len; i++){ arr[i] = s.charAt(i);}  return arr;} else{return Array.prototype.slice.call(s);  } ;}; " _
  8.         & " };if (!Array.isArray) {Array.isArray = function(arg) { return Object.prototype.toString.call(arg) === '[object Array]';  };};" _
  9.         & "; var z; var y;function j(a){  if(Array.isArray(a)){ y=a; return y };  z= Array.from(a);return z;}"
  10.     js.addcode s
  11.     ghb = Array("'我是js字符串'", "['我是js数组',2,3]", "{0: 1, 1: '我是类数组', 2: 3, length: 3}")
  12.     For i = 0 To 2
  13.         Debug.Print js.eval("j(" & ghb(i) & ")")
  14.     Next

  15. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-22 11:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
odds500部分数据: odds500.rar (6.26 KB, 下载次数: 27)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-27 17:14 , Processed in 0.042296 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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