Cómo llamar a funciones mediante el control de secuencias de comandos

Seleccione idioma Seleccione idioma
Id. de artículo: 184740 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Este artículo proporciona código de ejemplo para el control de secuencias de comandos que muestra varios métodos de llamar a funciones de secuencia de comandos de Visual Basic.

Más información

Importante: Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita, incluyendo, pero sin limitarse a, las garantías implícitas de comerciabilidad e idoneidad para un propósito determinado. En este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y las herramientas utilizadas para crear y depurar procedimientos.

El control de secuencias de comandos pueda host VBScript, JavaScript y cualquier otro compatible con secuencias de comandos lenguaje, por lo que los usuarios pueden incluir la aplicación de forma similar al uso de VBScript o JavaScript para proporcionar funcionalidad adicional para páginas Web.

El siguiente artículo en Microsoft Knowledge Base describe cómo obtener el control de secuencias de comandos:
184739: INFO: dónde conseguir el control de secuencias de comandos

El control de secuencias de comandos proporciona cuatro métodos para llamar a Sub y Function script rutinas:
  • Eval: Evalúa una expresión de texto.
  • Ejecución: Se ejecuta Sub o Function con nombre.
  • Ejecutar: Ejecuta una instrucción de secuencia de comandos.
  • Como método de un objeto Module.

Eval

La convención de llamada:
  Result = ScriptControl.Eval("some text expression")

				
puede utilizar este método para llamar a ambas funciones de secuencia de comandos intrínsecos, así como las funciones de usuario. Argumentos de función se pasan como valores literales en el texto de expresión y pueden se rígida o concatenados de una variable.

Nota: Este método no puede utilizarse para llamar subrutinas.

Ejecutar

La convención de llamada:
  Result = ScriptControl.Run("Name", arg1, arg2, ... argn)

				
puede utilizar este método para llamar subrutinas, en cuyo caso el resultado devuelto está vacío y puede utilizar la convención de llamada alternativa para omitir el resultado devuelto:
  ScriptControl.Run "Name", arg1, arg2, ... argn

				
Nota: nombre es el nombre de Sub o Function y arg1... argn son opcionales según el Sub o función en cuestión.

Ejecutar

La convención de llamada:
  ScriptControl.Execute "statement text"

				
este método le permite llamar a cualquier instrucción intrínseco o Sub rutina. También puede utilizar para llamar a funciones, pero el resultado devuelto se interrumpe.

Método de módulo

Es la convención de llamada:
   Result = ScriptControl.Modules(modulename).functionname(arg1, arg2, ...)
   ScriptControl.Modules(modulename).subname arg1, arg2, ...
				

El módulo predeterminado se expresa en la constante GlobalModule, como:
   Result = ScriptControl.Modules(GlobalModule).MyFunction(5)
   ScriptControl.Modules(GlobalModule).MySub 5, "A"
				

Para obtener más información sobre módulos ScriptControl, consulte en contacto con el siguiente artículo en Microsoft Knowledge Base:
184745: cómo usar módulos de control de secuencias de comandos y colecciones de procedimientos

Ejemplo

  1. En Visual Basic, cree un nuevo proyecto. Se creará Form1 de manera predeterminada.
  2. Haga clic en componentes en el menú proyecto y, a continuación, active la casilla de verificación "Microsoft Script Control 1.0".
  3. Agregar el control de secuencias de comandos (ScriptControl1), un cuadro de texto (Texto1) y un botón de comando (Command1) a un formulario. Establezca la propiedad MultiLine del cuadro de texto en True.
  4. Agregue el código siguiente a 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. Ejecute Form1 y abra la ventana depuración.
  6. Escriba la siguiente secuencia de comandos en el cuadro de texto:
          Sub Hello(YourName)
            MsgBox "Hello " & YourName
          End Sub
    
          Function AddTwo(X1, X2)
            AddTwo = X1 + X2
          End Function
    
    						
  7. Haga clic en el control CommandButton.

    Nota: Las dos instrucciones siguientes no producen una salida porque la función de devolución se pierde y el código no genera el resultado por otros medios, como un cuadro variable o mensaje global:
          .Run "AddTwo", 4, 6
          .ExecuteStatement "AddTwo 9,18"
    
    						

Referencias

Para información acerca de cómo obtener el control de secuencias de comandos, consulte en contacto con el siguiente artículo en Microsoft Knowledge Base:
184739: INFO: dónde conseguir el control de secuencias de comandos

(c) 1998 Microsoft Corporation, reservados todos los derechos.
Contribuciones por Malcolm Stewart, Microsoft Corporation

Propiedades

Id. de artículo: 184740 - Última revisión: jueves, 15 de julio de 2004 - Versión: 4.2
La información de este artículo se refiere a:
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Edición de aprendizaje
  • 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
Palabras clave: 
kbmt kbhowto KB184740 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 184740

Enviar comentarios

 

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