Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3841|回复: 2

请教各位大神为什么会出错?

[复制链接]
发表于 2014-5-19 14:08 | 显示全部楼层 |阅读模式
5学分
请各位老师帮帮忙。下面代码运行时老出错,不知道什么原因?
  1. Sub getTBdata()

  2.     Dim StrHTML$, URL$, lStart&, lEnd&, dua$, Ign$, i, TarHTML$
  3.      
  4.     URL = "http://detail.tmall.com/item.htm?id=6944223048&ad_id=&am_id=&cm_id=140105335569ed55e27b&pm_id="        '网页地址,复制q=后面的uncode码来替换关键词。其他参数,看文章
  5.    
  6.     '====================请求模块====================
  7.     With CreateObject("Msxml2.XMLHTTP") '调用了Msxml2.XMLHTTP
  8.         .Open "GET", URL, False '获取网页信息的方法有GET和POST,这里要用GET
  9.         .setRequestHeader "X-UA-Compatible", "IE=edge" '淘宝的请求http头,固定写法
  10.         .send '发送请求
  11.         StrHTML = .responseText '返回请求
  12.     End With
  13.     lStart = InStr(1, StrHTML, "月销量") + 4 '起始位置
  14.     lEnd = Len(StrHTML) '源码总长度
  15.     StrHTML = Mid(StrHTML, lStart, lEnd - lStart) '取出目标部分的源码

  16.    
  17.     For i = 2 To 3 '第一页有1-44个宝贝,从2开始循环
  18.    
  19.         Cells(i, 1) = i - 1 '在表的第1列,第i行写入排名
  20.         
  21.         lStart = InStr(1, StrHTML, "href=") + 6
  22.         lEnd = InStr(17, StrHTML, "target=")
  23.         TarHTML = Mid(StrHTML, lStart, lEnd - lStart - 2)
  24.         Cells(i, 2) = TarHTML '取出宝贝链接,写入表的第2列,第i行
  25.         
  26.         lStart = InStr(1, StrHTML, "title=") + 7
  27.         lEnd = InStr(17, StrHTML, ">")
  28.         TarHTML = Mid(StrHTML, lStart, lEnd - lStart - 1)
  29.         Cells(i, 3) = TarHTML '取出宝贝标题,写入表的第3列,第i行
  30.         
  31.         lStart = InStr(1, StrHTML, "col price") + 12
  32.         
  33.         lEnd = InStr(1, StrHTML, "<em></em></div>")
  34.         TarHTML = Mid(StrHTML, lStart, lEnd - lStart)
  35.         Cells(i, 4) = TarHTML '取出宝贝价格,写入表的第4列,第i行
  36.         
  37.         lStart = InStr(1, StrHTML, "col dealing") + 26
  38.         lEnd = InStr(1, StrHTML, "人付款")
  39.         TarHTML = Mid(StrHTML, lStart, lEnd - lStart)
  40.         Cells(i, 5) = TarHTML '取出宝贝付款人数,写入表的第5列,第i行
  41.         
  42.         lStart = lEnd + 4
  43.         lEnd = InStr(1, StrHTML, "人收货")
  44.         TarHTML = Mid(StrHTML, lStart, lEnd - lStart)
  45.         Cells(i, 6) = TarHTML '取出宝贝收货人数,写入表的第6列,第i行
  46.         
  47.         lStart = InStr(1, StrHTML, "feature-dsr-num") + 17
  48.         TarHTML = Mid(StrHTML, lStart, 4)
  49.         Cells(i, 7) = TarHTML '取出如实描述分,写入表的第7列,第i行
  50.         
  51.         '=================删掉已取出信息宝贝的信息源码================
  52.         lEnd = Len(StrHTML)
  53.         StrHTML = Mid(StrHTML, lStart, lEnd - lStart)
  54.         lStart = InStr(1, StrHTML, "<h3 class") + 4
  55.         lEnd = Len(StrHTML)
  56.         StrHTML = Mid(StrHTML, lStart, lEnd - lStart)
  57.         '=============================================================
  58.     Next i '下一个宝贝
  59. End Sub
复制代码

发表于 2014-5-19 14:48 | 显示全部楼层
就是取网页里面的内容吧?网址发一个看看来
回复

使用道具 举报

 楼主| 发表于 2014-5-19 14:51 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-6 08:59 , Processed in 0.225590 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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