REM ***** BASIC ***** Function IP2Long(IPString) as Double GlobalScope.BasicLibraries.LoadLibrary("Tools") AddrComponents = ArrayOutOfString(IPString, ".") IF UBound(AddrComponents) = 3 THEN IP2Long = 16777216 * Val(AddrComponents(0)) + 65536 * Val(AddrComponents(1)) + 256 * Val(AddrComponents(2)) + Val(AddrComponents(3)) ELSE IP2Long = 0 END IF End Function Function Main(IPString as Variant) as Double DIM res as Double IF IsMissing(IPString) THEN res = 0 ELSEIF IsArray(IPString) THEN res = 0 ELSEIF IsNumeric(IPString) THEN res = IP2Long(Format(IPString, "#")) ELSE res = IP2Long(IPString) END IF Main = res End Function