Jak volat funkce pomocí skriptu ovládání

Překlady článku Překlady článku
ID článku: 184740 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek obsahuje ukázkový kód pro ovládací prvek skript, který demonstruje různé metody volání funkcí skriptu v jazyce Visual Basic.

Další informace

Důležité: Microsoft poskytuje ukázky programování pouze pro ilustraci, bez žádné záruky výslovně uvedené nebo předpokládané, včetně, ale bez omezení na předpokládaných záruk obchodovatelnosti nebo vhodnosti pro konkrétní účel. Tento článek předpokládá, že jste obeznámeni s programovací jazyk, je prokázána a nástroje pro vytváření a ladění procedur.

Může být hostitelem řízení skriptu VBScript, JavaScript a jakékoli jiné kompatibilní skriptovací jazyk, takže uživatelé mohou skriptu aplikace v podobná způsobem poskytují další funkce pomocí jazyka VBScript a JavaScript pro webové stránky.

V následujícím článku znalostní báze Microsoft Knowledge Base popisuje jak Získejte prvek skriptu:
184739: INFO: kde získat ovládací skript

Ovládací prvek skript obsahuje čtyři metody pro volání procedury Sub a funkce rutiny skriptu:
  • Eval: Vyhodnotí výraz text.
  • Spustit: Spustí pojmenovanou Sub nebo Function.
  • Spustit: Provede příkaz skriptu.
  • Jako metodu objektu modulu.

Eval

Konvence volání je:
  Result = ScriptControl.Eval("some text expression")

				
Tuto metodu můžete použít volání funkce i vnitřní skript jako uživatelské funkce. Argumenty funkce, které jsou předány jako hodnoty literály v výraz text a může být pevně nebo ze Spojených Proměnná.

Poznámka: Tuto metodu nelze použít volání podrutiny.

Spustit

Konvence volání je:
  Result = ScriptControl.Run("Name", arg1, arg2, ... argn)

				
Můžete použít tuto metodu k volání podrutiny, v kterémžto případě výsledek vrácena je prázdné a je možné použít alternativní konvence volání do Ignorovat vrácení výsledku:
  ScriptControl.Run "Name", arg1, arg2, ... argn

				
Poznámka: Název je název procedury Sub nebo funkce a arg1... jsou argn v závislosti na typu Sub nebo funkce dotyčné je nepovinné.

Spustit

Konvence volání je:
  ScriptControl.Execute "statement text"

				
Tato metoda umožňuje volat vnitřní prohlášení nebo Sub rutina. Jste slouží také k volání funkce, ale výsledek vratky je zrušen.

Metoda modul

Konvence volání je:
   Result = ScriptControl.Modules(modulename).functionname(arg1, arg2, ...)
   ScriptControl.Modules(modulename).subname arg1, arg2, ...
				

Výchozí modul je uveden v GlobalModule konstantu, jako například:
   Result = ScriptControl.Modules(GlobalModule).MyFunction(5)
   ScriptControl.Modules(GlobalModule).MySub 5, "A"
				

Další informace o ScriptControl moduly naleznete v následujících článek znalostní báze Microsoft Knowledge Base:
184745: Jak použití skriptu řídicí moduly a postupy kolekce

Příklad

  1. V jazyce Visual Basic vytvořte nový projekt. Ve výchozím nastavení je vytvořen formulář Form1.
  2. V nabídce Projekt klepněte na tlačítko součásti a pak vyberte položku "Microsoft Skript 1.0 "políčko řízení.
  3. Přidat skript řízení (ScriptControl1), textové pole (Text1) a příkazové tlačítko formuláře (Command1). Nastavte vlastnost víceřádkové textové pole na hodnotu True.
  4. Formulář1 přidejte následující kód:
          Private Sub Command1_Click()
            With ScriptControl1
              ' Set script language (VBScript is the default).
              .Language = "VBScript"
              ' Set UI interaction (TRUE is the default).
              .AllowUI = True
              ' Copy the script to the control.
              .AddCode Text1.Text
              ' Demonstrate the Eval method.
              Debug.Print .Eval("AddTwo(5,7)")
              ' Demonstrate the Run method both with and without return values.
              .Run "Hello", "Jane Doe"
              Debug.Print .Run("Hello", "James Smith")
              .Run "AddTwo", 4, 6
              Debug.Print .Run("AddTwo", 7, 8)
              ' Demonstrate the ExecuteStatement method.
              .ExecuteStatement "Hello ""Sue Smith"""
              .ExecuteStatement "AddTwo 9,18"
              .ExecuteStatement "MsgBox CStr(AddTwo(3,8))"
              .Modules(GlobalModule).Hello "Jane Doe"
              Dim oMod As Object
              Set oMod = .Modules(GlobalModule)
              Debug.Print oMod.AddTwo 12, 24
              Set oMod = Nothing
            End With
          End Sub
    
    						
  5. Spusťte formulář1 a otevřete okno ladění.
  6. Do textového pole zadejte následující skript:
          Sub Hello(YourName)
            MsgBox "Hello " & YourName
          End Sub
    
          Function AddTwo(X1, X2)
            AddTwo = X1 + X2
          End Function
    
    						
  7. Klepněte PříkazovéTlačítko.

    Poznámka: Následující dva příkazy neposkytují výstup protože funkce vrácení je ztracena a kód není výstup výsledků prostřednictvím jiným způsobem, jako je například globální proměnnou nebo zpráva pole:
          .Run "AddTwo", 4, 6
          .ExecuteStatement "AddTwo 9,18"
    
    						

Odkazy

Informace o získání řízení skriptu naleznete následující článek znalostní báze Microsoft Knowledge Base:
184739: INFO: kde získat ovládací skript

(c) Microsoft Corporation 1998, všechna práva vyhrazena.
Příspěvky Miroslav Stewart, Microsoft Corporation

Vlastnosti

ID článku: 184740 - Poslední aktualizace: 23. dubna 2011 - Revize: 6.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 4.0 Standard Edition
Klíčová slova: 
kbhowto kbmt KB184740 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:184740

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com