startIP = ip2num(Text1, Text2, Text3, Text4)
endIP = ip2num(Text5, Text6, Text7, Text8)
For i = startIP To endIP
Print num2ip(CStr(i))
Next
End Sub
Function ip2num$(ip1$, ip2$, ip3$, ip4$)
ip2num = Val(ip1) * 256 ^ 3 + Val(ip2) * 256 ^ 2 + Val(ip3) * 256 + Val(ip4)
End Function
Function num2ip$(num$)
Dim ip(3), tmp
tmp = CDec(num)
ip(0) = CStr(Fix(tmp / 256 ^ 3))
tmp = tmp - CDec(ip(0)) * 256 ^ 3
ip(1) = CStr(Fix(tmp / 256 ^ 2))
tmp = tmp - CDec(ip(1)) * 256 ^ 2
ip(2) = CStr(Fix(tmp / 256))
tmp = tmp - CDec(ip(2)) * 256
ip(3) = CStr(Fix(tmp))
num2ip = Join(ip, ".")
End Function