微信公众号 【EXCEL880】 QQ群【341401932】
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com
有人在群里问手机号怎么批量查归属地,第一感觉是百度一下,结果还真没找到好用的,既然如此,我就自己写一个吧!首先找了几个webapi,找到这个挺好用的http://life.tenpay.com/cgi-bin/mobile/MobileQueryAttribution.cgi?chgmobile=13905221984,就用vba写了个自定义函数,测试下感觉还是挺好用,速度也挺快
源文件下载链接请头条或者公众号私信回复63005即可
API网站已失效 需要定制Excel版手机号查询工具的 请加qq80871835 报价300起 非诚勿扰
使用方法:
1.在本表中直接在A1列输入手机号即可
2.要在其他表中,alt+f11打开vbe编辑器,复制模块中代码,在你的新表中建立模块,粘贴代码即可
3.函数参数说明
GetPhoneInfo(号码,参数)
号码---即单个手机号
参数(1,2,3,4):1-城市,2-省,3-运营商, 4-全部
代码
Dim ObjXML As Object Function GetPhoneInfo(number, Optional para As Byte = 1) '获取手机号对应的基本信息 默认为城市 'para:1-城市,2-省,3-运营商,4,全部 Dim s As String s = GetBody("http://v.showji.com/Locating/showji.com2016234999234.aspx? output=json&callback=querycallback&m=" & number) Select Case para Case 1 GetPhoneInfo = HtmlFilter(s, "City"":""", """") Case 2 GetPhoneInfo = HtmlFilter(s, "Province"":""", """") Case 3 GetPhoneInfo = HtmlFilter(s, "TO"":""", """") Case 4 GetPhoneInfo = HtmlFilter(s, "City"":""", """") & "," & HtmlFilter(s, "Province"":""", """") & "," & HtmlFilter(s, "TO"":""", """") End Select GetPhoneInfo = Replace(GetPhoneInfo, " ", "") End Function Private Sub Test() Dim i&, j&, k&, arr, brr url = "http://v.showji.com/Locating/showji.com2016234999234.aspx? output=json&callback=querycallback&m=15098051755" Debug.Print GetBody(url) End Sub '''如果出现乱码,UTF-8可改为GB2312 Public Function GetBody(ByVal url$, Optional ByVal Coding$ = "utf-8") On Error Resume Next Set ObjXML = CreateObject("Microsoft.XMLHTTP") With ObjXML .Open "Get", url, False, "", "" '.setRequestHeader "If-Modified-Since", "0" '.setRequestHeader "User-Agent", _ ".Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0" .Send GetBody = .ResponseBody End With GetBody = BytesToBstr(GetBody, Coding) Set ObjXML = Nothing End Function Public Function BytesToBstr(strBody, CodeBase) Dim ObjStream Set ObjStream = CreateObject("Adodb.Stream") With ObjStream .Type = 1: .Mode = 3: .Open: .Write strBody: .Position = 0: .Type = 2: .Charset = CodeBase BytesToBstr = .ReadText: .Close End With Set ObjStream = Nothing End Function Public Function HtmlFilter(ByVal htmlText$, ByVal Label1$, ByVal label2$) '返回html字符串lable1和最近的lable2标签中的数据 Dim pStart As Long, pStop As Long pStart = InStr(htmlText, Label1) + Len(Label1) If pStart <> 0 Then pStop = InStr(pStart, htmlText, label2) HtmlFilter = Mid(htmlText, pStart, pStop - pStart) End If End Function
Excel880工作室为您服务,VBA,函数,网页数据抓取,数据分析,足彩,彩票分析,编程开发,office批量操作,办公自动化
QQ80871835
2016年10月4日 上午8:21 沙发
不知为何这个api现在失效了 现在用不了的不要着急 等我换个查询地址再重新上传文件