Atgriež Variant (Long) vērtību, kas norāda pozīciju pirmajam virkņu pārklāšanās gadījumam.
Sintakse
InStr([start, ] string1, string2 [, compare ] )
Funkcijas InStr sintaksei ir šādi argumenti:
| Arguments | Apraksts |
|---|---|
| sākums | Neobligāts arguments. Skaitliska izteiksme, kas nosaka katras meklēšanas sākuma pozīciju. Ja tiek izlaists, meklēšana tiek sākta ar pirmo rakstzīmi. Ja sākums satur nulli, rodas kļūda. Arguments sākums ir nepieciešams, ja norādīts arguments salīdzināt. |
| virkne1 | Obligāts arguments. Meklētā virknes izteiksme. |
| virkne2 | Obligāts arguments. Meklētā virknes izteiksme. |
| salīdzināt | Neobligāts arguments. Norāda virkņu salīdzinājuma tipu. Ja salīdzināt ir vērtība Null, rodas kļūda. Ja salīdzināšana ir izlaista, salīdzinājuma tipu nosaka iestatījums OptionComplet. Norādiet derīgu LCID (LocaleID), lai salīdzinājumā izmantotu lokalizācijas kārtulas. |
Padoms
Izteiksmju veidotājam ir IntelliSense, lai jūs varētu skatīt, kādi argumenti ir nepieciešami izteiksmei.
Iestatījumi
Salīdzināšanas argumentu iestatījumi ir:
| Konstante | Vērtība | Apraksts |
|---|---|---|
| vbUseCompareOption | -1 | Veic salīdzinājumu, izmantojot priekšraksta Opciju salīdzināšana iestatījumu. |
| vbBinaryCompare | 0 | Veic bināru salīdzinājumu. |
| vbTextCompare | 1 | Veic teksta salīdzinājumu. |
Atgrieztās vērtības
| Ja | InStr atgriež |
|---|---|
| string1 ir nulles garuma | 0 |
| string1 is Null | Null |
| virkne2 ir nulles garuma | Sākt |
| string2 ir Null | Null |
| virkne2 nav atrasta | 0 |
| virkne2 atrodas virknē1 | Pozīcija, kurā tiek atrasta atbilstība |
| > start string2 | 0 |
Piezīmes
Funkcija InStrB tiek izmantota baitu datiem, kas iekļauti virknē. Tā vietā, lai atgrieztu rakstzīmes pozīciju pirmajam virkņu pārklāšanās gadījumam, InStrB atgriež baita pozīciju.
Piemēri
Funkcijas InStr izmantošana izteiksmēInStr varat izmantot visur, kur var izmantot izteiksmes. Piemēram, ja vēlaties atrast pirmā perioda (.) atrašanās vietu laukā, kurā ir IP adreses (ar nosaukumu IPAddress), varat izmantot InStr , lai to atrastu, līdzīgi šim:
InStr(1,[IPAddress],".")
Funkcija InStr pārbauda katru vērtību laukā IPAddress un atgriež pirmā perioda pozīciju. Tādējādi, ja IP adreses pirmā daļa ir 10., funkcija atgriež vērtību 3.
Pēc tam varat izmantot citas funkcijas, kas darbojas ar InStr funkcijas izvadi, lai izvilktu IP adreses daļu, kas ir pirms pirmā perioda, šādi:
Left([IPAddress],(InStr(1,[IPAddress],".")-1))
Šajā piemērā InStr(1,[IPAddress],".") Atgriež pirmā perioda pozīciju. Atņemot 1, tiek noteikts, cik rakstzīmju ir pirms pirmā punkta, šajā gadījumā 2. Funkcija Left pēc tam izgūst reikiamu rakstzīmju daudzumu no IPAddress lauka kreisās daļas, atgriežot vērtību 10.
InStr izmantošana VBA kodā
Piezīme
Turpmākajos piemēros redzama šīs funkcijas izmantošana Visual Basic for Applications (VBA) modulī.
Šajā piemērā tiek izmantota funkcija InStr , lai atgrieztu pozīciju pirmajam virkņu pārklāšanās gadījumam.
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' String to search in.
SearchChar = "P" ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)
' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' Comparison is binary by default
' (last argument is omitted).
MyPos = Instr(SearchString, SearchChar) ' Returns 9.
MyPos = Instr(1, SearchString, "W") ' Returns 0.