hej! nu har jag ett kanske lite svårare problem.. Utan att vara säker så fungerar nog inte variabeln unchecked: skriv istället if check1.value = true then .. Första parametern får inte vara noll. Testa med att sätta startpos = 1. Fins ingen konstant som heter unchecked, du glömde prefixet vb. Testa istället med vbUnchecked. instr() problem
jag har ett program som ska söka efter text och jag har använt mig av
instr().
jag har en checkbox som man kan välja om man vill ha skiftkänslighet samt vill jag att den ska söka efter alla succesiva förekomster av ordet.
jag skriver koden så här, alltså-
if check1=unchecked then
jfrtyp=1
else
jfrtyp=0
end if
pos = instr(startpos,text2,text1,jfrtyp)
men det funkar inte... vet ni hur man gör detta?Sv: instr() problem
/Pelle
Sv: instr() problem
Efter som vb är "snällt" med behovet av att deklarera variabler, vilket lätt ger sådanahär fel. Bör du skriva "Option Explicit" överst i alla moduler och kryssa för "Require Variable Declaration" på Editor fliken under menyn Tool/Options. För att vb automatisk skall lägga till "Option Explicit" överst i alla nya moduler.
startpos=1
if check1=vbUnchecked then
jfrtyp=1
else
jfrtyp=0
end if
pos = instr(startpos,text2,text1,jfrtyp)
Har utveklat din kod till en sök, sök nästa funktion:
Option Explicit
Private Sub Command1_Click()
Dim jfrtyp As VbCompareMethod
Dim startpos As Integer
Dim pos As Integer
If Check1 = vbUnchecked Then
jfrtyp = vbTextCompare
Else
jfrtyp = vbBinaryCompare
End If
If StrComp(Text2.SelText, Text1, jfrtyp) Then
startpos = 1
Else
startpos = Text2.SelStart + Len(Text1)
End If
pos = InStr(startpos, Text2, Text1, jfrtyp)
If pos > 0 Then
Text2.SelStart = pos - 1
Text2.SelLength = Len(Text1)
Text2.Setfocus
Else
MsgBox "Text ej funnen!"
End If
End Sub