Como chamar funções usando o controle de script

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

Neste artigo

Sumário

Este artigo fornece código de exemplo para o controle de script que demonstra vários métodos de chamar funções de script do Visual Basic.

Mais Informações

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.

O controle de script pode hospedar VBScript, JavaScript e qualquer outra compatível com linguagem de script, portanto, os usuários podem script seu aplicativo de maneira semelhante a usar o VBScript ou JavaScript para fornecer funcionalidade adicional para páginas da Web.

O seguinte artigo na Base de dados de Conhecimento da Microsoft descreve como obter o controle de script:
184739: INFO: onde obter o controle de script

O controle de script fornece quatro métodos para chamar sub e Function script rotinas:
  • Eval: Avalia uma expressão de seqüência de texto.
  • Execução: Executa uma sub ou Function nomeado.
  • Executar: Executa uma instrução de script.
  • Como um método de um objeto Module.

Eval

É a convenção de chamada:
  Result = ScriptControl.Eval("some text expression")

				
você pode usar esse método para chamar as duas funções intrínsecas script, bem como funções de usuário. Argumentos da função são passados como valores literais no texto da expressão e podem ser embutidos ou concatenados de uma variável.

Observação: Este método não pode ser usado para chamar a sub-rotinas.

Executar

É a convenção de chamada:
  Result = ScriptControl.Run("Name", arg1, arg2, ... argn)

				
você pode usar esse método para chamar a sub-rotinas, nesse caso, o resultado retornado é vazio e você pode usar a convenção de chamada alternativa para ignorar o resultado de retorno:
  ScriptControl.Run "Name", arg1, arg2, ... argn

				
Observação: nome é o nome da sub ou Function e arg1... argn são opcionais dependendo do sub ou função em questão.

Executar

É a convenção de chamada:
  ScriptControl.Execute "statement text"

				
esse método permite que você chamar qualquer instrução intrínseca ou sub rotina. Você também pode usá-la para chamar funções, mas o resultado de retorno for interrompido.

Método do módulo

A convenção de chamada é:
   Result = ScriptControl.Modules(modulename).functionname(arg1, arg2, ...)
   ScriptControl.Modules(modulename).subname arg1, arg2, ...
				

O módulo padrão é fornecido na constante GlobalModule, como:
   Result = ScriptControl.Modules(GlobalModule).MyFunction(5)
   ScriptControl.Modules(GlobalModule).MySub 5, "A"
				

Para obter mais informações sobre módulos ScriptControl, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
184745: como usar scripts controle módulos e procedimentos coleções

Exemplo

  1. No Visual Basic, crie um novo projeto. O 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. Adicione o controle de script (ScriptControl1), uma caixa de texto (Texto1) e um botão de comando (Command1) a um formulário. Defina a propriedade MultiLine da caixa de texto como True.
  4. Adicione o seguinte código ao Form1:
          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. Executar Form1 e abra a janela Verificação imediata.
  6. Digite o seguinte script na caixa de texto:
          Sub Hello(YourName)
            MsgBox "Hello " & YourName
          End Sub
    
          Function AddTwo(X1, X2)
            AddTwo = X1 + X2
          End Function
    
    						
  7. Clique no CommandButton.

    Observação: Duas instruções a seguir não produzem uma saída porque a função de retorno é perdida e o código não saída o resultado por outros meios, como uma caixa mensagem ou variável global:
          .Run "AddTwo", 4, 6
          .ExecuteStatement "AddTwo 9,18"
    
    						

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

(c) Microsoft Corporation 1998, todos os direitos reservados.
Contribuições de Malcolm Stewart, Microsoft Corporation

Propriedades

ID do artigo: 184740 - Última revisão: quinta-feira, 15 de julho de 2004 - Revisão: 4.2
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 KB184740 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: 184740

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