无象心 发表于 2020-7-24 14:29

Excel获取手机归属地自定义VB方法

Excel获取手机归属地
媳妇有工作需求做出工具,分享出来

Public Function GetMobileLocation(pohoenumber As String)
   
    Dim Url As String
   
    Url = "http://cx.shouji.360.cn/phonearea.php?number=" + pohoenumber
   
    If pohoenumber <> "" Then
      
      Dim xml_http As Object

      Set xml_http = CreateObject("Microsoft.XMLHTTP")

      xml_http.Open "get", Url, True

      xml_http.sEnd

      Do Until xml_http.ReadyState = 4

            DoEvents

      Loop
      
      Dim bodyData
      
      bodyData = xml_http.responseText
         
      Dim lastData
      
      lastData = Replace(bodyData, "data", "objectdata")

      Set JSON = CreateObject("MSScriptControl.ScriptControl"): JSON.Language = "JScript"
      
      Set Obj = JSON.eval("eval(" & lastData & ")")
      
      GetMobileLocation = Array(Obj.objectdata.province, Obj.objectdata.sp)
      
      ' GetMobileLocation = Obj.objectdata.province
      
      Set xml_http = Nothing

    Else
      GetMobileLocation = Array("--", "--")
   
    End If
   
End Function

首先导入函数


使用方法:选中两个单元格=GetMobileLocation(A1),然后ctrl+shift+enter

无象心 发表于 2020-10-27 09:13

本帖最后由 无象心 于 2020-10-27 09:18 编辑

admimimimi 发表于 2020-10-23 12:21
怎么确定市区呢?
第35行把市区的参数加上,选择三列返回就可以了
GetMobileLocation = Array(Obj.objectdata.province, Obj.objectdata.city, Obj.objectdata.sp)

ouzheng1949 发表于 2021-6-28 20:04

无象心 发表于 2020-10-27 09:13
第35行把市区的参数加上,选择三列返回就可以了
GetMobileLocation = Array(Obj.o ...

大大,我启动宏了,输入手机号,省份没问题,不显示市区

az12az 发表于 2020-7-24 20:04

厉害,思路不错。

admimimimi 发表于 2020-10-23 12:21

怎么确定市区呢?

lwg1208 发表于 2020-10-29 10:44

有需求,不会导入,能否把做好的EXCEL放上来,谢谢

无象心 发表于 2020-10-30 14:25

lwg1208 发表于 2020-10-29 10:44
有需求,不会导入,能否把做好的EXCEL放上来,谢谢

批量获取时手机号多了会反应慢,因为需要联网获取这些信息,等一会就好了

ycmzlg 发表于 2020-11-13 10:46

不行???

Xming_ 发表于 2020-11-13 11:33

真是学到了

roberttoday 发表于 2020-11-13 20:17

这个厉害,没用过。

chunbear 发表于 2020-12-2 14:21

无象心 发表于 2020-10-30 14:25
批量获取时手机号多了会反应慢,因为需要联网获取这些信息,等一会就好了

用不了·············显示 VALUE
页: [1] 2 3
查看完整版本: Excel获取手机归属地自定义VB方法