数太大可能会溢出:
Private Sub Command1_Click()
MsgBox iptolong("0.250.1.1")
MsgBox longtoip(257000)
End Sub
Function iptolong(ByVal ip As String) As Long
Dim temp
temp = Split(ip, ".")
iptolong = 0
For i = 0 To 3
iptolong = iptolong + CLng(temp(i)) * 256 ^ (3 - i)
Next
End Function
Function longtoip(ByVal iptolong As Long) As String
Dim temp(3)
For i = 3 To 0 Step -1
temp(i) = iptolong Mod 256
iptolong = iptolong \ 256
Next
longtoip = Join(temp, ".")
End Function