Here is a quick fix that I use and works very well.
Use it like this:
'
' Close Com Port
'
Port_Open_Or_Close [ComControl],False
'
' Assign Settings
'
comControl.Port = [Whatever]
comControl.Settings = "Whatever"
'
' Open Com Port
'
Port_Open_Or_Close [ComControl],True
Sub Port_Open_Or_Close(ByRef oCommControl As MSComm, ByVal bOpen As Boolean)
On Error Resume Next
oCommControl.PortOpen = False
If Err.Number <> 0 Then Err.Clear
If bOpen Then oCommControl.PortOpen = True
If Err.Number <> 0 Then Err.Clear
End Sub
Use it like this:
'
' Close Com Port
'
Port_Open_Or_Close [ComControl],False
'
' Assign Settings
'
comControl.Port = [Whatever]
comControl.Settings = "Whatever"
'
' Open Com Port
'
Port_Open_Or_Close [ComControl],True
Sub Port_Open_Or_Close(ByRef oCommControl As MSComm, ByVal bOpen As Boolean)
On Error Resume Next
oCommControl.PortOpen = False
If Err.Number <> 0 Then Err.Clear
If bOpen Then oCommControl.PortOpen = True
If Err.Number <> 0 Then Err.Clear
End Sub