如何连接 IP 地址? 运行 时间错误 13,类型不匹配

How can I concatenate an IP address? Run time error 13 , Type mismatch

我知道我有问题

IPROUTER = (Left(IP, 11)) & ((Right(IP, 3)) + 5)

我应该如何写这行才不会出现标题错误?

Dim ID As String
Dim IP As String
Dim IPROUTER As String
 
ID = Mid(olItem.Subject, 20, 9)
IP = Right(olItem.Body, 14)
  
IPROUTER = (Left(IP, 11)) & ((Right(IP, 3)) + 5)
  
With objFile
    .WriteLine "START " & Chr(34) & ID & Chr(34) & " ping" & IP & " -t"

您收到 Type mismatch 错误,因为您的代码试图将 Integer 添加到 String(因为您的代码中有 . String).

假设您的 IP 地址是 class C 类型(如 192.168.1.x),您可以这样更正您的代码:

IPROUTER = (Left(IP, 10)) & (Mid(IP, 11, 3) + 5)

无论最后一个八位字节的大小如何,这都可以工作,但您可能需要根据地址固定部分的长度进行一些更改。

希望这对您有所帮助。

感谢您的回复。它没有帮助,但我以不同的方式解决了这个问题。我只是将字符串转换为 int。我的示例代码如下:

Dim ID As String
Dim IP As String
Dim IPROUTER As String
Dim ok As String
Dim okI As Integer


ID = Mid(olItem.Subject, 20, 9)
IP = Right(olItem.Body, 14)



 IPROUTER = (Left(IP, 12))

 ok = Mid(IP, 13, 3)
 okI = CInt(ok)





 With objFile
  .WriteLine "START " & Chr(34) & ID & Chr(34) & " ping " & IP & " -t"
  .WriteLine "START " & Chr(34) & ID & Chr(34) & " ping " & IPROUTER & okI + 5 & " -t"