Cómo utilizar C# para llamar a una función de VBScript en una página Web que se carga en un control ActiveX WebBrowser en una aplicación de Windows Forms

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

En esta página

INTRODUCCIÓN

En este artículo describe cómo utilizar Microsoft Visual C# para llamar a una función de Microsoft Visual Basic Scripting Edition (VBScript) en una página Web. Específicamente, se carga la página Web en un control ActiveX WebBrowser en una aplicación de Windows Forms.

Para realizar los procedimientos en la sección "Más información", ya debe tener los siguientes elementos:
  • Una aplicación de formularios Windows Forms de Visual C# que contiene un control ActiveX WebBrowser .

    Para obtener más información acerca de cómo agregar un control ActiveX a una aplicación de formularios Windows Forms, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
    http://msdn2.microsoft.com/en-us/library/1w560tdz.aspx
  • Una página Web que contiene al menos una función de VBScript.

    Para obtener más información acerca de VBScript, visite el siguiente sitio Web de MSDN:
    http://msdn2.microsoft.com/en-us/library/t0aew7h6.aspx
Nota Los procedimientos descritos en este artículo sólo se aplican a aplicaciones de formularios Windows Forms que contienen un control ActiveX WebBrowser . Si utiliza un control de formularios Windows Forms WebBrowser administrado en la aplicación, no realice los procedimientos en este artículo. Para obtener más información sobre el control WebBrowser de formularios Windows Forms, visite el siguiente sitio Web de MSDN:
http://msdn2.microsoft.com/en-us/library/2te2y1x6.aspx

Más información

Los procedimientos siguientes muestran cómo llamar a una función de VBScript en una página Web que se carga en un control ActiveX WebBrowser .

Agregar una referencia a la biblioteca de objetos HTML de Microsoft (Mshtml.tlb)

Antes de llamar a una función de VBScript en un control ActiveX WebBrowser desde una aplicación de formularios Windows Forms, debe agregar una referencia a la biblioteca de objetos de HTML de Microsoft. Para ello, siga estos pasos:
  1. Inicie Microsoft Visual Studio .NET o Microsoft Visual Studio 2005.
  2. En el menú archivo , seleccione Abrir y, a continuación, haga clic en proyecto .

    Nota En Visual Studio 2005, haga clic en Proyecto o solución .
  3. Busque el proyecto que desea abrir y, a continuación, haga clic en Abrir .
  4. En el menú proyecto , haga clic en Agregar referencia .
  5. Haga clic en la ficha COM .
  6. Seleccione Biblioteca de objetos HTML de Microsoft , haga clic en Seleccionar y, a continuación, haga clic en Aceptar .

    Nota En Visual Studio 2005, seleccione Biblioteca de objetos de HTML y, a continuación, haga clic en Aceptar .

Agregue un método que llama a la función de VBScript

Después de agregar una referencia a la biblioteca de objetos HTML de Microsoft, puede agregar un método que llama a una función de VBScript en una página Web que está cargada en un control ActiveX WebBrowser .

En el siguiente ejemplo de código muestra cómo llamar a una función de VBScript en una página Web que se carga en un control ActiveX WebBrowser . En este ejemplo de código se utiliza la propiedad IHTMLDocument.Script en la biblioteca de objetos de HTML de Microsoft para obtener acceso al objeto secuencias de comandos. El ejemplo de código a continuación, utiliza el método InvokeMember para llamar a la función de VBScript.

Nota Reemplace axWebBrowser1 en el siguiente código con el nombre de la instancia del control ActiveX WebBrowser que se produce en la aplicación.
private object InvokeScript(string sFunction,object[] oParameters)
{
    object oReturn = null;
    mshtml.IHTMLDocument Doc = (mshtml.IHTMLDocument)this.axWebBrowser1.Document;
    Type ScriptEng = Doc.Script.GetType();
    try
    {
        oReturn = ScriptEng.InvokeMember(sFunction, System.Reflection.BindingFlags.InvokeMethod, null, Doc.Script, oParameters);
    }
    catch(Exception ex)
    {
        MessageBox.Show("Error invoking function: " + ex.Message,"InvokeScript - Exception", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
    return oReturn;
}
Puede llamar a este método, pasando el nombre de la función de VBScript y los parámetros. En el siguiente ejemplo de código muestra cómo utilizar el ejemplo de código anterior para llamar a una función de VBScript que tiene un valor de parámetro de 100.

Nota La función de VBScript se denomina myVBScriptFunction .
String myFunction = "myVBScriptFunction";
Object[] myParameters = { 100 };
InvokeScript(myFunction, myParameters);

Referencias

Para obtener más información sobre el control ActiveX WebBrowser , visite el siguiente sitio Web de MSDN:
http://msdn2.microsoft.com/en-us/library/Aa752040.aspx

Propiedades

Id. de artículo: 922275 - Última revisión: jueves, 22 de noviembre de 2007 - Versión: 1.8
La información de este artículo se refiere a:
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Palabras clave: 
kbmt kbwindowsforms kbhowto kbinfo KB922275 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): 922275

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