Meu IP Local

Função Meu IP Localizador em VBA

Obter o endereço IP e sua localização usando apenas VBA é um pouco mais complexo, pois o VBA não possui funcionalidades nativas para determinar a localização geográfica de um endereço IP. No entanto, você pode usar VBA para fazer uma solicitação a um serviço web externo que fornece tanto o IP quanto a localização. Um exemplo de serviço que oferece isso é o ip-api.com.


Sub ObterIPeLocalizacao()
    Dim httpObject As Object
    Set httpObject = CreateObject("MSXML2.XMLHTTP")

    ' Enviar uma solicitação para o serviço que retorna o endereço IP e a localização
    httpObject.Open "GET", "http://ip-api.com/json", False
    httpObject.Send

    ' Verificar se a solicitação foi bem-sucedida
    If httpObject.Status = 200 Then
        Dim resposta As String
        resposta = httpObject.responseText

        ' Usar uma função para extrair o IP e a localização do JSON
        Dim IP As String, cidade As String, regiao As String, pais As String
        IP = ExtrairValorJSON(resposta, "query")
        cidade = ExtrairValorJSON(resposta, "city")
        regiao = ExtrairValorJSON(resposta, "regionName")
        pais = ExtrairValorJSON(resposta, "country")

        ' Escrever o resultado na célula A1
        ThisWorkbook.Sheets(1).Range("A1").Value = "IP: " & IP & " - Localização: " & cidade & ", " & regiao & ", " & pais
    Else
        ThisWorkbook.Sheets(1).Range("A1").Value = "Não foi possível obter as informações"
    End If

    Set httpObject = Nothing
End Sub

Function ExtrairValorJSON(jsonString As String, chave As String) As String
    Dim inicio As Integer, fim As Integer
    chave = """" & chave & """:"""
    inicio = InStr(jsonString, chave)
    If inicio > 0 Then
        inicio = inicio + Len(chave)
        fim = InStr(inicio, jsonString, """")
        ExtrairValorJSON = Mid(jsonString, inicio, fim - inicio)
    Else
        ExtrairValorJSON = ""
    End If
End Function


Abra o Excel e pressione ALT + F11 para abrir o Editor do VBA.
No menu “Inserir”, escolha “Módulo” para criar um novo módulo.
Cole o código acima no módulo.
Execute a sub-rotina ObterIPeLocalizacao.
Este código faz uma solicitação ao ip-api.com, que retorna um JSON com informações sobre o IP, incluindo localização (cidade, região e país). A função ExtrairValorJSON é usada para obter esses dados do JSON. O resultado é então escrito na célula A1 da primeira folha.
Note que este método depende de um serviço web externo, que pode ter limitações de uso (como um número máximo de solicitações gratuitas por minuto) e pode não funcionar se o computador estiver atrás de um firewall ou proxy que bloqueie a solicitação HTTP. Além disso, os dados de localização podem não ser precisos para todos os IPs

Caso queira receber esse arquivo Excel, contendo essa função, é só enviar um e-mail
solicitando para o endereço
marmitanao@gmail.com