如何在VBA中将10182223123更改为10.182.223.123(IP)?

时间:2016-10-25 18:52:03

标签: vba excel-vba ip excel

我试图在VBA中做一个宏,但我遇到了问题,因为有些IP地址没有点,我需要将点放在正确的位置而不依赖于IP。

例如: 10182223123 - > 10.182.223.123

由于

2 个答案:

答案 0 :(得分:0)

正如@MarcB指出的那样,你不能区分具有前导0的部分的IP,但如果假设只有掉落的零位于字符串的开头,那么你可以使用这样:

Sub test1()

  Const IP As String = "10182223123"

  Dim result As String

  result = Format$(IP, "##0\.000\.000\.000")

End Sub

答案 1 :(得分:0)

如果您知道该地址全部用于专用网络,因此以10开头,其余部分已使用前导零编码(即示例地址可能为10056123047) - 因此,确保所有源字符串长度为11个字符 - 然后以下代码可能正常工作

s = "10056123047"
r = Mid(s, 1, 2) & "." & Mid(s, 3, 3) & "." & Mid(s, 6, 3) & "." & Mid(s, 9, 3)