Como usar scripts controle módulos e procedimentos coleções

Traduções deste artigo Traduções deste artigo
ID do artigo: 184745 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo demonstra como usar as propriedades módulos e procedimentos do controle de scripts da Microsoft para código de segmento. Ele também demonstra como você pode determinar dinamicamente o número de argumentos e se o procedimento é uma função ou sub.

Mais Informações

O controle de scripts da Microsoft inclui recursos que permitem que o aplicativo de host para segmento de scripts em diferentes módulos. O módulo padrão, "Global", está sempre presente. Diferentes módulos podem conter procedimentos o mesmo nome (ou seja, nomes de procedimento têm escopo do módulo).

O controle de scripts da Microsoft também inclui propriedades de procedimento que permitem que o aplicativo host determinar se o procedimento é uma função ou um sub, bem como o número de argumentos espera dinamicamente. Isso permite que o aplicativo de host para solicitar ao usuário para o número correto de valores de parâmetro.

A propriedade módulos do controle de script é um objeto que contém uma coleção de objetos do módulo. Ele tem a propriedades e métodos a seguir:
  • Contagem: O número de módulos.
  • Item(x): Retorna um único objeto de módulo.
  • Adicionar nome: adiciona um módulo em branco com o nome fornecido.
Objeto Module tem as propriedades e métodos a seguir:
  • Nome: O nome de módulo.
  • Procedimentos: O objeto de procedimentos.
  • Código AddCode: adiciona o código para o módulo.
  • Nome de execução, args: executa o procedimento chamado.
O objeto procedimentos contém uma coleção de objetos do procedimento. Ele tem a propriedades e métodos a seguir:
  • Contagem: O número de procedimentos do módulo.
  • Item(x): Retorna um único objeto de procedimento.
O objeto de procedimento tem as propriedades e métodos a seguir:
  • Nome: O nome de procedimento.
  • HasReturnValue: Indica se o procedimento é um sub ou uma função.
  • NumArgs: O número de argumentos, que o procedimento exige.
Observação: Nem todas as propriedades e métodos dos objetos listados são fornecidos, apenas aqueles relevantes para este artigo.

O exemplo a seguir fornece um programa interativo que ilustra como usar essas propriedades e métodos:

Importante: Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita, incluindo, mas não se limitando às garantias implícitas de comercialização e/ou adequação a uma finalidade específica. Este artigo presume que você esteja familiarizado com a linguagem de programação demonstrada e as ferramentas usadas para criar e depurar procedimentos.

Exemplo

  1. No Visual Basic, crie um novo projeto (Form1 é criado por padrão).
  2. Clique em componentes no menu projeto e selecione a caixa de seleção "Controle de scripts da Microsoft 1.0".
  3. Adicionar o script controle (ScriptControl1), uma caixa de texto (Texto1), três botões de comando (Command1, Command2, Command3), e dois listam caixas (Lista1, List2) ao Form1. Defina a propriedade MultiLine da caixa de texto como TRUE. Dimensione a caixa de texto para acomodar 5 linhas de 30 caracteres.
  4. Adicione o seguinte código ao 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. Execute o Form1.
  6. Criar um novo módulo digitando o seguinte na caixa de texto e clicando em Add Module:
          Mod2
    
    						
  7. Digite o seguinte script na caixa de texto:
          Function Calc(X)
            Calc = X * 2
          End Function
    						
  8. Selecione global em Lista1 e, em seguida, clique em Adicionar código para adicionar o módulo global.
  9. Digite o seguinte script na caixa de texto:
          Function Calc(X, Y)
            Calc = X * Y
          End Function
    
          Sub Test()
            MsgBox "The Test Sub in Module Mod2"
          End Sub
    						
  10. Selecione Mod2 na Lista1 e, em seguida, clique em Adicionar código para adicionar o módulo global.
  11. Clique nos vários módulos e procedimentos. Quando você seleciona o procedimento que será exibida uma caixa de mensagem, indicando se o procedimento tem um valor de retorno, bem como o número de argumentos demora.
  12. Depois de selecionar um procedimento, clique em executar o procedimento para executá-lo. O código determina o número de argumentos para usar e você verá várias caixas de mensagem com os resultados.
OBSERVAÇÃO:
  • O nome do módulo global não pode ser sempre "Global" dependendo da versão do controle ou localização. Use a constante GlobalName em vez de disco rígido - codificação a palavra "Global".
  • Não há nenhum método para remover módulos individuais ou procedimentos. Você precisará usar o método .Clear do controle de script para apagar todo o código. Você pode substituir um procedimento usando o método .AddCode com um procedimento de mesmo nome.

Referências

Para obter informações sobre como obter o controle de script, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
184739: INFO: onde obter o controle de script

Para obter informações adicionais e exemplos de chamar procedimentos no módulo global, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
184740: como chamar funções usando o controle de script

Tópicos da Ajuda de controle de scripts da Microsoft:
   HasReturnValue Property
   NumArgs Property
   AddCode Method
   Run Method
   Modules Collection
   Procedures Collection
				

Propriedades

ID do artigo: 184745 - Última revisão: terça-feira, 13 de julho de 2004 - Revisão: 4.1
A informação contida neste artigo aplica-se a:
  • 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 de 32 Bits Enterprise Edition
  • Microsoft Visual Basic for Applications 5.0
Palavras-chave: 
kbmt kbhowto kbscript KB184745 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 184745

Submeter comentários

 

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