Я пытаюсь написать скрипт VB для MS Excel, чтобы получить IP-адрес из домена. В настоящее время я использую ping, но он слишком медленный и занимает до 19 секунд.
Я создал специальную функцию для этого:
Public Function RunShell(Url As String) As String
Dim ReplacedURL As String
ReplacedURL = Replace(Url, "https://", "")
ReplacedURL = Replace(ReplacedURL, "http://", "")
If InStr(ReplacedURL, "/") > 0 Then
ReplacedURL = Mid(ReplacedURL, 1, InStr(ReplacedURL, "/") - 1)
End If
Dim Command As String
Command = "cmd /c """ & "ping " & ReplacedURL & "|clip"""
CreateObject("WScript.Shell").Run Command, 0, True
Dim DataObj As MSForms.DataObject
Set DataObj = New MSForms.DataObject
DataObj.GetFromClipboard
Dim CommandOutput As String
CommandOutput = DataObj.GetText
Dim IPAddress As String
IPAddress = ""
If InStr(CommandOutput, "[") > 0 And InStr(CommandOutput, "]") > 0 Then
IPAddress = Mid(CommandOutput, InStr(CommandOutput, "[") + 1, InStr(CommandOutput, "]") - 1 - (InStr(CommandOutput, "[")))
Else
Err.Raise ERR_WRONG_URL
End If
RunShell = IPAddress
End Function
Есть ли лучший способ получить IP? адрес из домена менее чем за пару секунд?