Como chamar funções utilizando o controlo de script

Traduções de Artigos Traduções de Artigos
Artigo: 184740 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

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

Mais Informação

Importante: Microsoft fornece exemplos de programação ilustração só, sem garantia expressa ou implícita, incluindo, sem limitação, garantias implícitas de comercialização e/ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas utilizadas para criar e depurar procedimentos.

O controlo de script pode hospedar VBScript, JavaScript e qualquer outra compatível com linguagem de script, para que os utilizadores podem script da aplicação de uma forma semelhante a utilizar o VBScript ou JavaScript para fornecer funcionalidades adicionais para páginas Web.

O seguinte artigo na base de dados de conhecimento da Microsoft descreve como obter o controlo de script:
184739: INFO: onde obter o controlo de script

O controlo de script fornece quatro métodos para chamar sub e funções rotinas de script:
  • Eval: Avalia uma expressão de texto.
  • Execução: Executa uma sub ou Function com nome.
  • Executar: Executa uma instrução de script.
  • Como um método de um objecto módulo.

Eval

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

				
pode utilizar este método para chamar ambas funções de script intrínseca, bem como funções de utilizador. Argumentos da função são passados como valores literais no texto da expressão e podem ser codificados ou concatenados de uma variável.

NOTA: Este método não pode ser utilizado para chamar subrotinas.

Executar

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

				
pode utilizar este método para chamar subrotinas, em cujo caso o resultado devolvido está vazio e pode utilizar a convenção de chamada alternativa para ignorar o resultado de devolução:
  ScriptControl.Run "Name", arg1, arg2, ... argn

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

Executar

A convenção de chamada é:
  ScriptControl.Execute "statement text"

				
este método permite-lhe chamar qualquer instrução intrínseca ou sub na rotina. Também pode utilizá-lo para chamar funções, mas o resultado devolvido é ignorado.

Método de módulo

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

O módulo predefinido é dado em constante GlobalModule, tais 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 utilizar scripts controlo módulos e colecções de procedimentos

Exemplo

  1. No Visual Basic, crie um novo projecto. É criado o Form1 por predefinição.
  2. Clique em ' componentes ' no menu Project e, em seguida, seleccione a caixa de verificação "Controlo de scripts da Microsoft 1.0".
  3. Adicione o controlo 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. Execute o Form1 e abrir a janela Depurar.
  6. Escreva 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.

    NOTA: As duas instruções seguintes não produzem um resultado porque a função de retorno é perdida e o código não exportar o resultado através de outros meios, tais como a uma caixa de mensagem ou de variável global:
          .Run "AddTwo", 4, 6
          .ExecuteStatement "AddTwo 9,18"
    
    						

Referências

Para obter informações sobre como obter o controlo de script, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
184739: INFO: onde obter o controlo de script

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

Propriedades

Artigo: 184740 - Última revisão: 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 32-Bit 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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