Funkce Eval

Důležité informace:  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

Funkce Eval vyhodnotit Výraz, jehož výsledkem textový řetězec nebo číselné hodnoty.

Můžete vytvořit řetězec a pak jí funkce Eval jako kdyby řetězec výraz skutečné. Funkce Eval vyhodnotí Řetězcový výraz a vrátí jeho hodnotu. Například Eval("1 + 1") vrátí 2.

Pokud se chcete předat funkce Eval řetězec obsahující název funkce, vrátí funkce Eval vrácenou hodnotu funkce. Například Eval("Chr$(65)") vrátí "A".

Syntaxe

Eval ( řetězcový výraz )

Řetězcový výraz argument je výraz, jehož výsledkem je alfanumerický textový řetězec. Řetězcový výraz například může být funkce vracející řetězec nebo číselné hodnoty. Nebo může být odkaz na Ovládací prvek ve formuláři. Argument řetězcový výraz vyhodnocen řetězec nebo číselnou hodnotu; nemůže být Objekt Microsoft Access.

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.

Poznámka: Pokud předáváte název funkce k funkci Eval , musí obsahovat závorky za název funkce v argumentu řetězcový výraz . Příklad:

' ShowNames is user-defined function.
Debug.Print Eval("ShowNames()")

Debug.Print Eval("StrComp(""Joe"",""joe"", 1)")

Debug.Print Eval("Date()")

Poznámky

Funkce Eval v Vypočítaný ovládací prvek ve formuláři nebo sestavě nebo makra nebo modulu. Funkce Eval vrátí varianty, která je řetězec nebo číselný typ.

Argument řetězcový výraz musí být výraz, který je uložený v řetězci. Pokud předáváte funkce Eval řetězcem, který neobsahuje číselný výraz nebo název funkce, ale jenom jednoduchý textový řetězec, dojde k Chyba za běhu. Například Eval("Smith") za následek chybu.

Funkce Eval vám pomohou zjistit hodnoty uložené ve vlastnosti hodnotu ovládacího prvku. Následující příklad předává řetězec obsahující úplný odkaz k ovládacímu prvku funkce Eval . Potom zobrazí aktuální hodnotu ovládacího prvku v dialogovém okně.

Dim ctl As Control
Dim strCtl As String
Set ctl = Forms!Employees!LastName
strCtl = "Forms!Employees!LastName"
MsgBox ("The current value of " & ctl.Name & _
" is " & Eval(strCtl))

Funkce Eval pro přístup k výraz operátory, které nejsou součástí obvykle modulu Visual Basic for Applications (VBA). Například nelze použít operátory SQL mezi... A nebo v přímo v kódu, ale můžete používat ve výrazu předán funkci vyhodnotit .

Následující příklad určuje, zda hodnoty Oblastdodání ovládacího prvku ve formuláři objednávky je jeden z několika zadaných zkratek států. Pokud pole obsahuje jednu zkratky, budou intStateTrue (-1). Všimněte si, že použijete jednoduchých uvozovek (') zahrnout řetězce v jiném řetězci.

Dim intState As Integer
intState = Eval("Forms!Orders!ShipRegion In " _
& "('AK', 'CA', 'ID', 'WA', 'MT', 'NM', 'OR')")

Příklad

Následující příklad předpokládá, že máte řadu 50 funkce rozumí A1, A2 a tak dál. Tento příklad používá funkci vyhodnotit pro každou volat v řadě.

Sub CallSeries()
Dim intI As Integer
For intI = 1 To 50
Eval("A" & intI & "()")
Next intI
End Sub

Následující příklad spustí klikněte na událost, jako kdyby uživatel klikl tlačítko ve formuláři. Hodnota vlastnosti Při klepnutí na tlačítko začíná rovnítko (=), označuje, zda je název funkce Eval funkce hovorů funkci, která je ekvivalentní aktivaci události klikněte na . Pokud hodnota nezačíná symbol rovná se, musí hodnoty název makra. Metoda SpustitMakro objektu DoCmd spustí pojmenované makro.

Dim ctl As Control
Dim varTemp As Variant
Set ctl = Forms!Contacts!HelpButton
If (Left(ctl.OnClick, 1) = "=") Then
varTemp = Eval(Mid(ctl.OnClick,2))
Else
DoCmd.RunMacro ctl.OnClick
End If

Poznámka: Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

Rozšiřte své znalosti a dovednosti
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. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×