Jak použít skript ovládací moduly a kolekce procedur

Překlady článku Překlady článku
ID článku: 184745 - 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 demonstruje použití moduly a procedury vlastnosti ovládacího prvku Microsoft Script kódu segmentu. Znázorňuje také jak dynamicky můžete určit počet argumentů a zda je proceduru Function nebo Sub.

Další informace

Ovládací prvek Microsoft Script zahrnuje funkce, které umožňují hostitelské aplikace segmentu skriptů do různých modulů. Výchozí modul "Globální" je vždy k dispozici. Postupy stejný název může obsahovat různé moduly (názvy procedur, tedy mít obor modulu).

Ovládací prvek Microsoft Script také zahrnuje vlastnosti postup povolit hostitelské aplikace dynamicky zjistit, zda je postup funkce nebo Sub stejně jako počet argumentů jej očekává. To umožňuje hostitelské aplikace vyzvat uživatele správné číslo hodnoty parametrů.

Vlastnost moduly řízení skriptu je objekt obsahující kolekci objektů modulu. Má následující vlastnosti a metody:
  • Počet: Číslo modulů.
  • Item(x): Vrátí jeden objekt Module.
  • Přidat název: Přidá prázdný modul s daným názvem.
Objekt Module má následující vlastnosti a metody:
  • Název: Modul název.
  • Postupy: Procedury objekt.
  • Kód AddCode: Přidá kód v modulu.
  • Spuštění název, args: spustí pojmenovanou proceduru.
Objekt procedury obsahuje kolekci objektů procedura. Má následující vlastnosti a metody:
  • Počet: Číslo procedury v modulu.
  • Item(x): Vrátí jeden objekt procedur.
Objekt PROCEDURE má následující vlastnosti a metody:
  • Název: Procedura název.
  • HasReturnValue: Označuje, zda je postup Sub nebo funkce.
  • NumArgs: Číslo postupu vyžaduje argumentů.
Poznámka: Všechny vlastnosti a metody uvedené objekty jsou uvedena, právě ty relevantní tohoto článku.

Následující příklad poskytuje interaktivní program, který znázorňuje, jak používat tyto vlastnosti a metody:

Důležité: Microsoft poskytuje ukázky programování pouze pro ilustraci bez žádné záruky nebo mlčky, včetně, ale nikoli výhradně, předpokládaných záruk obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že uživatel je obeznámen s programovacím jazykem, který je předmětem ukázky, a s nástroji použitými pro vytvoření a ladění skriptu.

Příklad

  1. V aplikaci Visual Basic vytvořit nový projekt (Form1 je vytvořena výchozí).
  2. V nabídce Projekt klepněte na tlačítko součásti a potom zaškrtněte políčko "Microsoft Script řízení 1.0".
  3. Přidat skript prvku (ScriptControl1) textového pole (Text1) tři příkazová tlačítka (Command3 Command1 Command2,) a dvě seznam polí (List1 List2) Form1. Víceřádkové vlastnost textového pole nastavena na hodnotu TRUE. Velikost textového pole přizpůsobená 5 řádky 30 znaků.
  4. Přidejte následující kód Form1:
          Private Sub Command1_Click()
            ScriptControl1.Modules.Add Text1.Text
            Form_Activate
          End Sub
    
          Private Sub Command2_Click()
            ScriptControl1.Modules(List1).AddCode Text1.Text
            List1_Click
          End Sub
    
          Private Sub Command3_Click()
          Dim RetVal As Variant, m As Variant
            Set m = ScriptControl1.Modules(List1.Text)
            With m.Procedures(List2.Text)
              Select Case .NumArgs
                Case 0
                  RetVal = m.Run(List2.Text)
                Case 1
                  RetVal = m.Run(List2.Text, 5)
                Case 2
                  RetVal = m.Run(List2.Text, 4, 23)
                Case Else
                  MsgBox "Procedure has too many arguments"
              End Select
              If .HasReturnValue Then
                MsgBox List2.Text & " returned: " & RetVal
              End If
            End With
          End Sub
    
          Private Sub Form_Activate()
          Dim m As Variant
            List1.Clear
            With SCriptControl1
              .Language = "VBScript"
              .AllowUI = True
              For Each m In .Modules
                List1.AddItem m.Name
              Next m
            End With
          End Sub
    
          Private Sub Form_Load()
            Command1.Caption = "Add Module"
            Command2.Caption = "Add Code"
            Command3.Caption = "Run Procedure"
          End Sub
    
          Private Sub List1_Click()
          Dim m As String, p As Variant
            m = List1
            List2.Clear
            If m = "" Then Exit Sub
            For Each p In ScriptControl1.Modules(m).Procedures
              List2.AddItem p.Name
            Next p
          End Sub
    
          Private Sub List2_Click()
          Dim m As String, p As String, r As Boolean, a As Long
            m = List1
            p = List2
            With ScriptControl1.Modules(m).Procedures(p)
              r = .HasReturnValue
              a = .NumArgs
            End With
            MsgBox m & "." & p & " has " & IIf(r, "a", "no") & _
                   " return value and " & a & " arguments"
          End Sub
    						
  5. Spustit Form1.
  6. Vytvořit nový modul zadáním následující textové pole a klepnutím na tlačítko Přidat modul:
          Mod2
    
    						
  7. Zadejte následující skript do textového pole:
          Function Calc(X)
            Calc = X * 2
          End Function
    						
  8. Vyberte Global List1 a potom klepněte na tlačítko Přidat kód přidat globální modulu.
  9. Zadejte následující skript do textového pole:
          Function Calc(X, Y)
            Calc = X * Y
          End Function
    
          Sub Test()
            MsgBox "The Test Sub in Module Mod2"
          End Sub
    						
  10. Vyberte Mod2 List1 a potom klepněte na tlačítko Přidat kód přidat globální modulu.
  11. Klepněte na různých modulů a procedur. Po vyberte postup, zobrazí se okno se zprávou označující, zda má postup vrácená hodnota stejně jako počet argumentů trvá.
  12. Po výběru postup, klepněte na položku spustit proceduru spustit jej. Kód určuje počet argumentů použít a uvidíte různý zprávou s výsledky.
POZNÁMKA:
  • Název globální modulu nemusí vždy být "Global" v závislosti na verzi ovládacího prvku nebo lokalizace. Použijte namísto pevný konstanta GlobalName - kódování slovo "Global".
  • Neexistuje žádná metoda odebrat jednotlivé moduly nebo postupy. Máte pomocí metody .Clear řízení skriptu vymazat veškerý kód. Postup můžete přepsat pomocí metody .AddCode s postup stejný název.

Odkazy

Informace o získání řízení skriptu naleznete v následujícím článku databáze Microsoft Knowledge Base:
184739: INFO: kde získat řízení skriptu

Další informace a příklady na volání procedur v modulu globální naleznete následujícím článku databáze Microsoft Knowledge Base:
184740: Jak volání funkce pomocí skriptu řízení

Ovládací prvek Microsoft Script témata nápovědy:
   HasReturnValue Property
   NumArgs Property
   AddCode Method
   Run Method
   Modules Collection
   Procedures Collection
				

Vlastnosti

ID článku: 184745 - Poslední aktualizace: 13. července 2004 - Revize: 4.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.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 Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 4.0 Standard Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
  • Microsoft Visual Basic for Applications 5.0
Klíčová slova: 
kbmt kbhowto kbscript KB184745 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:184745

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