Dessa koder har jag : Du kan ju testa något sådant: Nja, jag får inget fel, men den hittar ingenting. Löste det själv genom att lägga en osynlig textbox som fick lagra resultatet ifrån combo1.CB_FINDSTRING problem
<code>
Public Declare Function SendMessageFind Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal _
lParam As String) As Long
Global Const WM_USER = &H400
Global Const LB_ERR = (-1)
Global Const LB_FINDSTRING = &H18F
Global Const CB_FINDSTRING = &H14C
Dim combon As ComboBox
combon = Left(frMultiLanguage.Combo1, 2)
combon.ListIndex = SendMessage(combon.hwnd, CB_FINDSTRING, -1, _
ByVal CStr(frMultiLanguage.Combo3.ListIndex))
</code>
I Combo1 så ligger filnamnen sparade som
sv_index.asp
en_index.asp
de_index.asp
osv
I Combo3 så ligger det insläst ifrån en textfil:
SE_SWEDEN
GB_UNITED KINGDOM
DE_GERMANY
Vad jag försöker med är att ändrar man i combo1, så skall den leta reda på motsvarande i Combo2.
Error:
<code>
ErrNo 91
ObjectVariable or With block variable not set.
</code>
Hur kommer jag förbi detta?Sv: CB_FINDSTRING problem
Form: frMultiLanguage.
<code>
Private Declare Function SendMessageFind Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal _
lParam As String) As Long
Private Const WM_USER = &H400 As Long
Private Const LB_ERR = (-1)
Private Const LB_FINDSTRING = &H18F
Private Const CB_FINDSTRING = &H14C
Private Sub Combo1_Click()
Dim strFind As String
strFind = Left$(Combo1.Text, 2)
Combo3.ListIndex = SendMessage(Combo3.hwnd, CB_FINDSTRING, -1, strFind)
End Sub
</code>Sv: CB_FINDSTRING problem
Jag har blivet tvungen att ändra lite så:
Filerna ser nu ut så här:
<code>
Svenska_se_sponsor.asp
English_gb_sponsor.asp
</code>
Jag tar här ut efter första underscoren
<code>
Dim strFind As String, Values As Variant
Values = Split(frMultiLanguage.Combo1.Text, "_")
strFind = Values(1)
strFind = Combo3.ListIndex = SendMessage(Combo3.hwnd, CB_FINDSTRING, -1, strFind)
</code>
Det den skall hitta är:
<code>
UA_UKRAINE_Ukraina
AE_UNITED ARAB EMIRATES_Arabic
GB_UNITED KINGDOM_English
US_UNITED STATES_English
</code>
Alltså efter den den första innan underscore.
Ingenting händer.
Vad behöver jag modifiera för det?Sv: CB_FINDSTRING problem