Comment faire pour utiliser script contrôle des modules et procédures Collections

Traductions disponibles Traductions disponibles
Numéro d'article: 184745 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article explique comment utiliser les propriétés des modules et des procédures du contrôle Microsoft Script au code de segment. Il montre également comment vous pouvez déterminer dynamiquement le nombre d'arguments et si la procédure est une fonction ou d'un Sub.

Plus d'informations

Le contrôle Microsoft Script inclut des fonctionnalités qui permettent à l'application ordinateur hôte de scripts de segment dans différents modules. Le module par défaut, «Global», est toujours présent. Modules différents peuvent contiennent des procédures du même nom (c'est-à-dire, les noms des procédures ont portée de module).

Le contrôle Microsoft Script comprend également les propriétés de procédure qui permettent à l'application ordinateur hôte dynamiquement déterminer si la procédure est une fonction ou une procédure Sub, ainsi que le nombre d'arguments, il s'attend à ce que. Cela permet à l'application ordinateur hôte inviter l'utilisateur pour le nombre correct de valeurs de paramètre.

La propriété modules du contrôle de script est un objet qui contient une collection d'objets de module. Il possède des propriétés et des méthodes suivantes :
  • Nombre : Nombre de modules.
  • Item(x) : Renvoie un seul objet module.
  • Ajouter nom : ajoute un module vide avec le nom donné.
L'objet Module possède des propriétés et des méthodes suivantes :
  • Nom : Nom de module.
  • Procédures : Objet de procédures.
  • Code AddCode : ajoute le code au module.
  • Nom de l'exécution, args : exécute la procédure nommée.
L'objet de procédures contient une collection d'objets Procedure. Il possède des propriétés et des méthodes suivantes :
  • Count : Nombre de procédures du module.
  • Item(x) : Renvoie un objet unique de la procédure.
L'objet procédure possède les propriétés et méthodes suivantes :
  • Nom : Nom de procédure.
  • HasReturnValue : Indique si la procédure est une procédure Sub ou Function.
  • NumArgs : Nombre d'arguments que nécessaire à la procédure.
Remarque : Tous les propriétés et méthodes des objets répertoriés sont corrects, juste celles découlant de cet article.

L'exemple suivant fournit un programme interactif qui montre comment utiliser ces propriétés et méthodes :

IMPORTANT : Microsoft fournit des exemples de programmation à titre d'illustration uniquement, sans garantie expresse ou implicite, y compris, sans que cela soit limitatif, les garanties implicites de qualité marchande et/ou d'adéquation à un usage particulier. Cet article suppose que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures.

Exemple

  1. Dans Visual Basic, créez un nouveau projet (Form1 est créé par défaut).
  2. Cliquez sur composants dans le menu projet et puis activez la case à cocher «Contrôle Microsoft Script 1.0».
  3. Ajouter le script contrôle (ScriptControl1), une zone de texte (Texte1), trois boutons de commande (Command1, Command2, Command3), et deux de liste (liste 1, liste 2) les cases de Form1. Définissez la propriété MultiLine de la zone de texte sur TRUE. Redimensionnez la zone de texte pour prendre en charge de 5 lignes de 30 caractères.
  4. Ajoutez le code suivant à 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. Exécutez Form1.
  6. Créer un nouveau module en tapant le texte suivant dans la zone de texte et en cliquant sur Ajouter un module :
          Mod2
    
    						
  7. Tapez le script suivant dans la zone de texte :
          Function Calc(X)
            Calc = X * 2
          End Function
    						
  8. Sélectionnez global dans la liste 1, puis cliquez sur Ajouter un code pour ajouter au module global.
  9. Tapez le script suivant dans la zone de texte :
          Function Calc(X, Y)
            Calc = X * Y
          End Function
    
          Sub Test()
            MsgBox "The Test Sub in Module Mod2"
          End Sub
    						
  10. Sélectionnez Mod2 dans la liste 1, puis cliquez sur Ajouter un code pour ajouter au module global.
  11. Cliquez sur les différents modules et procédures. Lorsque vous sélectionnez la procédure qu'un message s'affiche, indiquant si la procédure a une valeur de retour ainsi que le nombre d'arguments prend.
  12. Après avoir sélectionné une procédure, cliquez sur Exécuter la procédure pour l'exécuter. Le code détermine le nombre d'arguments à utiliser et vous verrez différentes boîtes de message avec les résultats.
REMARQUE :
  • Le nom de module global peut être pas toujours «Global» en fonction de contrôle de version ou de localisation. Utilisez la constante GlobalName au lieu de disque dur - le mot «Global» de codage.
  • Il n'existe aucune méthode pour supprimer des modules individuels ou des procédures. Vous devez utiliser la méthode .Clear du contrôle de script pour effacer tout le code. Vous pouvez remplacer une procédure à l'aide de la méthode .AddCode avec une procédure portant le même nom.

Références

Pour plus d'informations sur la façon d'obtenir le contrôle de script, consultez l'article suivant dans la base de connaissances Microsoft :
184739 : INFO : WHERE obtenir le contrôle de script

Pour plus d'informations et des exemples sur l'appel des procédures dans le module global, consultez l'article suivant dans la base de connaissances Microsoft :
184740 : Comment faire pour appeler des fonctions à l'aide du contrôle de script

Contrôle Microsoft Script rubriques d'aide :
   HasReturnValue Property
   NumArgs Property
   AddCode Method
   Run Method
   Modules Collection
   Procedures Collection
				

Propriétés

Numéro d'article: 184745 - Dernière mise à jour: mardi 13 juillet 2004 - Version: 4.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic 5.0 Édition initiation
  • Microsoft Visual Basic 6.0 Édition initiation
  • Microsoft Visual Basic 5.0 Édition professionnelle
  • Microsoft Visual Basic 6.0 Édition professionnelle
  • Microsoft Visual Basic 5.0 Édition Entreprise
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 4.0 Édition Standard
  • Microsoft Visual Basic 4.0 Édition professionnelle
  • Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
  • Microsoft Visual Basic for Applications 5.0
Mots-clés : 
kbmt kbhowto kbscript KB184745 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 184745
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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