Funkce InStr

Vrátí hodnotu typu Variant (Long) určující pozici prvního výskytu jednoho řetězce v jiném řetězci.

Tady je několik příkladů

Syntaxe

Funkce InStr([začátek, ] řetězec1, řetězec2 [, porovnání ] )

Syntaxe funkce InStr obsahuje následující argumenty:

Argument

Popis

začátek

Nepovinný argument. Číselný výraz, který nastaví počáteční pozici pro každé hledání. Pokud tento argument nezadáte, začne hledání na prvním místě. Pokud Start obsahuje hodnotu null, dojde k chybě. Pokud je zadaný možnost Compare , je argument Start povinný.

řetězec1

Povinný argument. Hledaný řetězcový výraz.

řetězec2

Povinný argument. Hledaný řetězcový výraz.

porovnání

Nepovinný argument. Určuje typ Porovnání řetězců. Pokud má argument Compare hodnotu null, dojde k chybě. Pokud je argument Compare vynechán, určuje typ porovnání nastavení MožnostiPorovnat . Chcete-li v porovnání používat pravidla specifická pro národní prostředí, zadejte platný identifikátor LCID (LocaleID).

Tip: V Accessu 2010 má Tvůrce výrazů IntelliSense, takže vidíte, jaké argumenty váš výraz vyžaduje. 

Nastavení

Nastavení argumentu Porovnat :

Konstanta

Hodnota

Popis

vbUseCompareOption

-1

Provede porovnání pomocí nastavení příkazu Compare Option .

vbBinaryCompare

0

Provede binární porovnání.

vbTextCompare

1

Provede textové porovnání.

vbDatabaseCompare

2

jenomMicrosoft Office Access 2007. Provede porovnání informací v databázi.


Vrácené hodnoty

Pokud

Funkce InStr

řetězec1 má nulovou délku

0

řetězec1 má hodnotu null

Null

řetězec2 je nulové délky

začátek

řetězec2 je null

Null

řetězec2 se nenašel.

0

řetězec2 v řetězec1

Pozice, na které je nalezena shoda

začátek > řetězec2

0


Poznámky

Pro data typu Byte obsažená v řetězci se používá funkce InStrB . Namísto vrácení pozice znaku prvního výskytu jednoho řetězce uvnitř jiného vrátí funkce InStrB pozici.

Příklady

Použití funkce InStr ve výrazu    Funkci InStr můžete použít všude, kde můžete používat výrazy. Pokud třeba chcete zjistit pozici první tečky (.) v poli, které obsahuje IP adresy (s názvem IPAddress), můžete pomocí funkce InStr ji najít, třeba takto:

InStr (1; [Adresa_IP], ".")

Funkce InStr zkontroluje každou hodnotu v poli Adresa_IP a vrátí její pozici. Pokud je tedy první část IP adresy 10., vrátí funkce hodnotu 3.

Potom můžete použít další funkce, které se řídí výstupem funkce InStr a extrahují tak část IP adresy, která předchází první době, třeba takto:

Left ([Adresa_IP], (InStr (1; [Adresa_IP], ".") -1))

V tomto příkladu funkce InStr (1; [Adresa_IP], ".") Vrátí pozici prvního období. Odečtení čísla 1 určuje, kolik znaků předchází prvnímu období, v tomto případě 2. Funkce Left pak extrahuje mnoho znaků z levé části pole Adresa_IP a vrátí hodnotu 10.

Funkce InStr v kódu jazyka VBA    

Poznámka: Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.

V tomto příkladu se funkce InStr použije k vrácení pozice prvního výskytu jednoho řetězce v jiném.

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.

Poznámka:  Tato stránka byla přeložena automaticky a může obsahovat gramatické chyby nebo nepřesnosti. Naším cílem je to, aby pro vás byl její obsah užitečný. Mohli byste nám prosím dát vědět, jestli vám informace pomohly? Pokud chcete, můžete se podívat na anglickou verzi článku.

Viz taky

Řetězcové funkce a jejich použití

Rozšiřte své dovednosti s Office
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×