Function GetDataFromTripleIP(TripleIP As String) As Variant
Dim ab As Long, h As Variant, i As Long, j As Long, z As Long, z1 As Long, s As String, d As String, f As Variant, g As Variant, k As Variant
s = TripleIP
ReDim f(0) As Variant
ReDim g(0) As Variant
ReDim k(0) As Variant
f(0) = s
z1 = 0
While z1 <= UBound(f)
Form_Info_form.Repaint
j = 1
For j = 1 To Len(f(z1))
If Mid(f(z1), j, 1) = "?" Then
If (j Mod 4) = 1 Then z = 2
If ((j Mod 4) = 2) Then
If (Mid(f(z1), j - 1, 1) = "0") Then z = 9
If (Mid(f(z1), j - 1, 1) = "1") Then z = 9
If (Mid(f(z1), j - 1, 1) = "2") Then z = 2
End If
If ((j Mod 4) = 3) Then
If (Mid(f(z1), j - 1, 1) = "0") Then z = 9
If (Mid(f(z1), j - 1, 1) = "1") Then z = 9
If (Mid(f(z1), j - 1, 1) = "2") And (Mid(f(z1), j - 2, 1) = "2") Then z = 4
If (Mid(f(z1), j - 1, 1) = "2") And (Mid(f(z1), j - 2, 1) = "0") Xor (Mid(f(z1), j - 2, 1) = "1") Then z = 9
End If
ReDim g(z) As Variant
For i = 0 To z
If (j <> 1) Or (j <> Len(f(z1))) Then d = Mid(f(z1), 1, j - 1) & i & Mid(f(z1), j + 1, Len(f(z1)) - j)
If j = 1 Then d = i & Mid(f(z1), j + 1, Len(f(z1)) - j)
If j = Len(f(z1)) Then d = Mid(f(z1), 1, j - 1) & i
g(i) = d
Next i
ReDim k(UBound(g) + UBound(f)) As Variant
h = 0
For ab = 0 To UBound(f)
If ab = z1 Then
For h = 0 To UBound(g)
k(ab + h) = g(h)
Next h
h = h - 1
End If
If ab <> z1 Then k(ab + h) = f(ab)
Next ab
f = k
End If
Next j
z1 = z1 + 1
Wend
GetDataFromTripleIP = f
End Function |