ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] Vba Json

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2013-4-15 15:09 | 显示全部楼层
本帖已被收录到知识树中,索引项:网页交互
本帖最后由 cumulonimbus 于 2013-4-15 15:18 编辑

蓝天大师,这是我从百度词典中抓取的数据,没办法把它们转换成正常的数据,实在没法了,特向你求教,要如何转换,谢谢
已上传抓取的网页文件的附件,请帮忙看看,谢谢

1111.zip

14.35 KB, 下载次数: 56

TA的精华主题

TA的得分主题

发表于 2013-4-23 13:10 | 显示全部楼层
赞一个,好用的。

TA的精华主题

TA的得分主题

发表于 2013-4-23 19:36 | 显示全部楼层
感觉很好,很强大,很有用 ,可现在真的看不懂,留下

TA的精华主题

TA的得分主题

发表于 2013-4-28 12:23 | 显示全部楼层
jackeyin2009 发表于 2013-4-15 12:22
学习中,不知道那天能够达到如此水平

蓝天的高水平,你只要坚持学下去,是可以求得的.这不是问题,问题是——这技术能生财否?这才是关键。

点评

不会碰到瓶颈?  发表于 2013-5-6 19:03

TA的精华主题

TA的得分主题

发表于 2013-4-28 23:32 | 显示全部楼层
这功能好。一直以为不能处理JSON的数据

TA的精华主题

TA的得分主题

发表于 2013-5-2 14:08 | 显示全部楼层
本帖最后由 html2013 于 2013-5-3 18:19 编辑

  1. Sub 北京市天气预报()
  2.     With CreateObject("Msxml2.XMLHTTP")
  3.         .Open "GET", "http://m.weather.com.cn/data/101010100.html", False
  4.         .send
  5.         str1 = .responseText
  6.     End With
  7.     s = "天气预报.weatherinfo."
  8.     With CreateObject("MSScriptControl.ScriptControl")
  9.         .Language = "JScript"
  10.         .AddCode "var 天气预报 = " & str1 & ";"
  11.         Debug.Print .Eval(s & "city")
  12.         Debug.Print .Eval(s & "city_en")
  13.         Debug.Print .Eval(s & "date_y")
  14.         Debug.Print .Eval(s & "date")
  15.         Debug.Print .Eval(s & "week")
  16.         Debug.Print .Eval(s & "fchh")
  17.         Debug.Print .Eval(s & "cityid")
  18.         Debug.Print .Eval(s & "temp1")
  19.         Debug.Print .Eval(s & "temp2")
  20.         Debug.Print .Eval(s & "temp3")
  21.         Debug.Print .Eval(s & "temp4")
  22.         Debug.Print .Eval(s & "temp5")
  23.         Debug.Print .Eval(s & "temp6")
  24.         Debug.Print .Eval(s & "tempF1")
  25.         Debug.Print .Eval(s & "tempF2")
  26.         Debug.Print .Eval(s & "tempF3")
  27.         Debug.Print .Eval(s & "tempF4")
  28.         Debug.Print .Eval(s & "tempF5")
  29.         Debug.Print .Eval(s & "tempF6")
  30.         Debug.Print .Eval(s & "weather1")
  31.         Debug.Print .Eval(s & "weather2")
  32.         Debug.Print .Eval(s & "weather3")
  33.         Debug.Print .Eval(s & "weather4")
  34.         Debug.Print .Eval(s & "weather5")
  35.         Debug.Print .Eval(s & "weather6")
  36.         Debug.Print .Eval(s & "img1")
  37.         Debug.Print .Eval(s & "img2")
  38.         Debug.Print .Eval(s & "img3")
  39.         Debug.Print .Eval(s & "img4")
  40.         Debug.Print .Eval(s & "img5")
  41.         Debug.Print .Eval(s & "img6")
  42.         Debug.Print .Eval(s & "img7")
  43.         Debug.Print .Eval(s & "img8")
  44.         Debug.Print .Eval(s & "img9")
  45.         Debug.Print .Eval(s & "img10")
  46.         Debug.Print .Eval(s & "img11")
  47.         Debug.Print .Eval(s & "img12")
  48.         Debug.Print .Eval(s & "img_single")
  49.         Debug.Print .Eval(s & "img_title1")
  50.         Debug.Print .Eval(s & "img_title2")
  51.         Debug.Print .Eval(s & "img_title3")
  52.         Debug.Print .Eval(s & "img_title4")
  53.         Debug.Print .Eval(s & "img_title5")
  54.         Debug.Print .Eval(s & "img_title6")
  55.         Debug.Print .Eval(s & "img_title7")
  56.         Debug.Print .Eval(s & "img_title8")
  57.         Debug.Print .Eval(s & "img_title9")
  58.         Debug.Print .Eval(s & "img_title10")
  59.         Debug.Print .Eval(s & "img_title11")
  60.         Debug.Print .Eval(s & "img_title12")
  61.         Debug.Print .Eval(s & "img_title_single")
  62.         Debug.Print .Eval(s & "wind1")
  63.         Debug.Print .Eval(s & "wind2")
  64.         Debug.Print .Eval(s & "wind3")
  65.         Debug.Print .Eval(s & "wind4")
  66.         Debug.Print .Eval(s & "wind5")
  67.         Debug.Print .Eval(s & "wind6")
  68.         Debug.Print .Eval(s & "fx1")
  69.         Debug.Print .Eval(s & "fx2")
  70.         Debug.Print .Eval(s & "fl1")
  71.         Debug.Print .Eval(s & "fl2")
  72.         Debug.Print .Eval(s & "fl3")
  73.         Debug.Print .Eval(s & "fl4")
  74.         Debug.Print .Eval(s & "fl5")
  75.         Debug.Print .Eval(s & "fl6")
  76.         Debug.Print .Eval(s & "index")
  77.         Debug.Print .Eval(s & "index_d")
  78.         Debug.Print .Eval(s & "index48")
  79.         Debug.Print .Eval(s & "index48_d")
  80.         Debug.Print .Eval(s & "index_uv")
  81.         Debug.Print .Eval(s & "index48_uv")
  82.         Debug.Print .Eval(s & "index_xc")
  83.         Debug.Print .Eval(s & "index_tr")
  84.         Debug.Print .Eval(s & "index_co")
  85.         Debug.Print .Eval(s & "st1")
  86.         Debug.Print .Eval(s & "st2")
  87.         Debug.Print .Eval(s & "st3")
  88.         Debug.Print .Eval(s & "st4")
  89.         Debug.Print .Eval(s & "st5")
  90.         Debug.Print .Eval(s & "st6")
  91.         Debug.Print .Eval(s & "index_cl")
  92.         Debug.Print .Eval(s & "index_ls")
  93.         Debug.Print .Eval(s & "index_ag")
  94.     End With
  95. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2013-5-6 18:35 | 显示全部楼层
本帖最后由 kangatang 于 2013-5-13 09:06 编辑
html2013 发表于 2013-5-2 14:08

给你个简化版的

Sub 北京市天气预报2() ‘历遍JSON
  With CreateObject("Msxml2.XMLHTTP")
           .Open "GET", "http://m.weather.com.cn/data/101010100.html", False
          .send
          str1 = .responseText
  End With
  With CreateObject("MSScriptControl.ScriptControl")
            .Language = "JScript"
            .AddCode "var info=" & str1 & ";var allinfo='';for(var key in info.weatherinfo){allinfo+=info.weatherinfo[key]+'$$$';}"
            maps = Split(.CodeObject.allinfo, "$$$")
  End With
  For Each map In maps
            If map <> "" Then Debug.Print map
  NextEnd Sub
'/////////////////////////////////////////////
Sub 北京市天气预报3() '单独取值
  With CreateObject("Msxml2.XMLHTTP")
           .Open "GET", "http://m.weather.com.cn/data/101010100.html", False
           .send
           str1 = .responseText
  End With
  With CreateObject("MSScriptControl.ScriptControl")
            .Language = "JScript"
            .AddCode "var info=" & str1 & ";"
            Set maps = .CodeObject.info.weatherinfo
  End With
  Debug.Print maps.city
  '...
  '...
  '...
End Sub

TA的精华主题

TA的得分主题

发表于 2013-5-6 18:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 kangatang 于 2013-5-7 09:14 编辑

通用模块,非常难得

TA的精华主题

TA的得分主题

发表于 2013-5-6 19:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
kangatang 发表于 2013-5-6 18:35
给你个简化版的

Sub 北京市天气预报2()

您这个,很牛!
不过,比如说只要其中的几个数据,稍微不方便。
  1. Sub 北京市天气预报()
  2.     With CreateObject("Msxml2.XMLHTTP")
  3.         .Open "GET", "http://m.weather.com.cn/data/101010100.html", False
  4.         .send
  5.         str1 = .responseText
  6.     End With
  7.     s = "天气预报.weatherinfo."
  8.     With CreateObject("MSScriptControl.ScriptControl")
  9.         .Language = "JScript"
  10.         .AddCode "var 天气预报 = " & str1 & ";"
  11.         Debug.Print .Eval(s & "city")
  12.         Debug.Print .Eval(s & "date_y")
  13.         Debug.Print .Eval(s & "temp1")
  14.         Debug.Print .Eval(s & "weather1")
  15.         Debug.Print .Eval(s & "img_single")
  16.         Debug.Print .Eval(s & "img_title1")
  17.         Debug.Print .Eval(s & "img_title_single")
  18.         Debug.Print .Eval(s & "wind1")
  19.         Debug.Print .Eval(s & "fx1")
  20.         Debug.Print .Eval(s & "fx2")
  21.         Debug.Print .Eval(s & "fl1")
  22.         Debug.Print .Eval(s & "index")
  23.         Debug.Print .Eval(s & "index_d")
  24.         Debug.Print .Eval(s & "index_xc")
  25.         Debug.Print .Eval(s & "index_tr")
  26.         Debug.Print .Eval(s & "index_co")
  27.         Debug.Print .Eval(s & "st1")
  28.         Debug.Print .Eval(s & "index_cl")
  29.         Debug.Print .Eval(s & "index_ls")
  30.         Debug.Print .Eval(s & "index_ag")
  31.     End With
  32. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2013-5-6 19:17 | 显示全部楼层
本帖最后由 kangatang 于 2013-5-6 19:41 编辑
html2013 发表于 2013-5-6 19:15
您这个,很牛!
不过,比如说只要其中的几个数据,稍微不方便。

我以为你在历遍。补上单个取值
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-5-20 11:31 , Processed in 0.045457 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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