This is the fastest way to prevent duplicates being inserted into a listbox...
VB Code:
Public Const LB_FINDSTRING = &H18F
Public Const LB_ADDSTRING = &H180
Public Const CB_FINDSTRING = &H14C ' For a combobox
Public Const CB_ADDSTRING = &H143
Public Declare Function SendMessageString Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As String) As Long
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Dim lngRetVal As Long
lngRetVal = SendMessageString(MyListbox.hwnd, _
LB_FINDSTRING, -1&, _
strStringToBeAdded)
' lngRetVal is the ListIndex
If lngRetVal > -1& Then
' It's in the list
Else
' It's not in the list so add it
Call SendMessage(MyListbox.hwnd, LB_ADDSTRING, 0, ByVal strStringToBeAdded)
End If