Mit Skripts Control Module und Prozeduren Auflistungen

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 184745 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel veranschaulicht die Module und Prozeduren Eigenschaften des Steuerelements Microsoft Skript-Segment Code verwenden. Es veranschaulicht auch, wie Sie dynamisch die Anzahl der Argumente bestimmen können und ob die Prozedur eine Funktion oder Sub ist.

Weitere Informationen

Das Microsoft Skript-Steuerelement bietet Features, die die Anwendung Host Segment Skripts in verschiedenen Modulen ermöglichen. Das Standard-Modul, "Global", ist immer vorhanden. Unterschiedliche Module enthalten Prozeduren mit dem gleichen Namen (d. h., Prozedurnamen Modulbereich haben).

Microsoft Skript-Steuerelement enthält außerdem Prozedur-Eigenschaften, die die Host-Anwendung dynamisch bestimmen, ob die Prozedur ist eine Funktion oder Sub sowie die Anzahl der erwarteten Argumente zulassen. Dadurch kann die Host-Anwendung, um den Benutzer für die richtige Anzahl von Parameterwerten aufzufordern.

Die Module-Eigenschaft des Script-Steuerelement ist ein Objekt, das eine Auflistung der Modul-Objekte enthält. Es hat die folgenden Eigenschaften und Methoden:
  • Anzahl: Anzahl der Module.
  • Item(x): Gibt ein einzelnes Module-Objekt zurück.
  • Namen hinzufügen: Fügt ein leeres Modul mit dem angegebenen Namen.
Das Module-Objekt hat die folgenden Eigenschaften und Methoden:
  • Name: Der Modulname.
  • Verfahren: Das Verfahren Objekt.
  • AddCode-Code: Fügt den Code in das Modul.
  • Ausführen Name, Args: führt die benannte Prozedur.
Das Verfahren-Objekt enthält eine Auflistung von Prozedur-Objekten. Es hat die folgenden Eigenschaften und Methoden:
  • Anzahl: Die Anzahl der Prozeduren im Modul.
  • Item(x): Gibt ein einzelnes Procedure-Objekt zurück.
Das Prozedur-Objekt hat die folgenden Eigenschaften und Methoden:
  • Name: Der Prozedurname.
  • HasReturnValue: Gibt an, ob die Prozedur Sub oder Funktion ist.
  • NumArgs: Die Anzahl der Argumente, die die Prozedur erfordert.
Hinweis: Nicht alle Eigenschaften und Methoden der aufgeführten Objekte werden, nur die für diesen Artikel relevant angegeben.

Das folgende Beispiel zeigt ein interaktives Programm, das veranschaulicht, wie Sie diese Eigenschaften und Methoden verwenden:

Hinweis: Microsoft bietet Programmierbeispiele für Abbildung nur ohne Gewährleistung oder konkludent, einschließlich, aber nicht beschränkt auf konkludenten Garantien der Handelsüblichkeit und/oder Eignung für einen bestimmten Zweck. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen.

Beispiel

  1. Erstellen Sie in Visual Basic ein neues Projekt (Form1 wird standardmäßig erstellt).
  2. Klicken Sie im Menü Projekt auf Komponenten, und aktivieren Sie das Kontrollkästchen "Microsoft Skript-Steuerelement 1.0".
  3. Das Skript-Steuerelement hinzuzufügen (ScriptControl1), ein Textfeld (Text1) drei Befehlsschaltflächen (Command1, Command2, Command3) und zwei Listen Dialogfelder (Liste1, Liste2) zu Form1 hinzu. Legen Sie die MultiLine-Eigenschaft des Textfelds auf True fest. Die Größe des Textfeldes um 5 Zeilen von 30 Zeichen aufnehmen zu können.
  4. Fügen Sie Form1 folgenden Code hinzu:
          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. Führen Sie Form1.
  6. Erstellen Sie ein neues Modul, indem Sie die folgenden in das Textfeld eingeben und Modul hinzufügen:
          Mod2
    
    						
  7. Geben Sie das folgende Skript im Textfeld:
          Function Calc(X)
            Calc = X * 2
          End Function
    						
  8. Wählen Sie Global in Liste1, und klicken Sie dann auf Code hinzufügen globales Modul hinzu.
  9. Geben Sie das folgende Skript in das Textfeld:
          Function Calc(X, Y)
            Calc = X * Y
          End Function
    
          Sub Test()
            MsgBox "The Test Sub in Module Mod2"
          End Sub
    						
  10. Wählen Sie Mod2 in Liste1, und klicken Sie dann auf Code hinzufügen globales Modul hinzu.
  11. Klicken Sie auf die verschiedenen Module und Prozeduren. Wenn Sie die Prozedur, die ein Meldungsfeld angezeigt wird auswählen, dauert ab, der angibt, ob die Prozedur einen Rückgabewert sowie die Anzahl von Argumenten hat.
  12. Nachdem Sie eine Prozedur auswählen, klicken Sie auf Prozedur ausführen, um Sie auszuführen. Der Code bestimmt die Anzahl Argumente verwendet und die unterschiedlichen Meldungsfelder mit den Ergebnissen wird angezeigt.
HINWEIS:
  • Der globale Modulname möglicherweise nicht immer "Global" je nach Steuerelementversion oder der Lokalisierung. Verwenden Sie die GlobalName-Konstante anstelle von schwer - Codierung das Wort "Global".
  • Es gibt keine Methode zum Entfernen einzelner Module oder Prozeduren. Sie müssen die .Clear-Methode des Steuerelements Skript verwenden, um sämtlichen Code löschen. Sie können eine Prozedur mithilfe der .AddCode-Methode mit einer Prozedur mit demselben Namen überschreiben.

Informationsquellen

Informationen zum Beziehen des Skript-Steuerelements finden Sie unter den folgenden Artikel der Microsoft Knowledge Base:
184739: INFO: wo erhalten Sie das Script-Steuerelement

Weitere Informationen und Beispiele zum Aufrufen von Prozeduren im Modul "Global" finden Sie in der folgenden Artikel der Microsoft Knowledge Base:
184740: Gewusst wie: Aufrufen von Funktionen, die mit dem Skript-Steuerelement

Microsoft Skript-Steuerelement Hilfethemen:
   HasReturnValue Property
   NumArgs Property
   AddCode Method
   Run Method
   Modules Collection
   Procedures Collection
				

Eigenschaften

Artikel-ID: 184745 - Geändert am: Dienstag, 13. Juli 2004 - Version: 4.1
Die Informationen in diesem Artikel beziehen sich auf:
  • 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
Keywords: 
kbmt kbhowto kbscript KB184745 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 184745
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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