on error resume next
MSComm1.PortOpen = True
If Err.Number <> 0 Then
Err.Clear
'这里是提示错误,也可以做别的处理,如关闭串口再打开
MsgBox "错误" & Err.Number & ":" & Err.Description, 16, "错误提示"
Exit Sub
End If
...
MSComm1.CommPort = 1
If MSComm1.PortOpen Then MSComm1.PortOpen = False
With MSComm1
.InBufferCount = 0
.Settings = "4800,n,8,1"
.InputLen = 0
.InputMode = 0
.InBufferCount = 0
.RThreshold = 1
End With
If Not MSComm1.PortOpen Then MSComm1.PortOpen = True