Como utilizar o Visual C# para chamar uma função de VBScript numa página Web que é carregada num controlo WebBrowser do ActiveX numa aplicação Windows Forms

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

Nesta página

INTRODUÇÃO

Este artigo descreve como utilizar o Microsoft Visual C# para chamar uma função do Microsoft Visual Basic Scripting Edition (VBScript) numa página Web. Especificamente, a página Web é carregada num controlo ActiveX WebBrowser numa aplicação Windows Forms.

Para efectuar os procedimentos a secção "Mais informação", já tem de ter os seguintes itens:
  • Uma aplicação do Visual C# Windows Forms que contém um controlo ActiveX WebBrowser .

    Para obter mais informações sobre como adicionar um controlo ActiveX a uma aplicação Windows Forms, visite o seguinte Web site da Microsoft Developer Network (MSDN):
    http://msdn2.microsoft.com/en-us/library/1w560tdz.aspx
  • Uma página Web que contém, pelo menos, uma função de VBScript.

    Para obter mais informações sobre VBScript, visite o seguinte site da Web MSDN:
    http://msdn2.microsoft.com/en-us/library/t0aew7h6.aspx
Nota Os procedimentos deste artigo aplicam-se apenas a aplicações Windows Forms que contêm um controlo ActiveX WebBrowser . Se estiver a utilizar um controlo Windows Forms WebBrowser gerido na sua aplicação, não execute os procedimentos deste artigo. Para obter mais informações sobre o controlo WebBrowser do Windows Forms, visite o seguinte site da Web MSDN:
http://msdn2.microsoft.com/en-us/library/2te2y1x6.aspx

Mais Informação

Os procedimentos seguintes demonstram como chamar uma função de VBScript numa página Web que é carregada num controlo ActiveX WebBrowser .

Adicionar uma referência à biblioteca de objectos HTML do Microsoft (Mshtml.tlb)

Para poder chamar uma função de VBScript num controlo ActiveX WebBrowser a partir de uma aplicação Windows Forms, terá de adicionar uma referência para o Microsoft HTML Object Library. Para o fazer, siga estes passos:
  1. Inicie o Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005.
  2. No menu ficheiro , aponte para Abrir e, em seguida, clique em projecto .

    Nota No Visual Studio 2005, clique em Project/solução .
  3. Localizar o projecto que pretende abrir e, em seguida, clique em Abrir .
  4. No menu projecto , clique em Add Reference .
  5. Clique no separador COM .
  6. Seleccione Microsoft HTML Object Library , clique em Seleccionar e, em seguida, clique em OK .

    Nota No Visual Studio 2005, seleccione a Biblioteca de objectos HTML do Microsoft e, em seguida, clique em OK .

Adicionar um método que chama a função de VBScript

Depois de adicionar uma referência à biblioteca de objectos HTML do Microsoft, pode adicionar um método que chama uma função de VBScript numa página Web que é carregada num controlo ActiveX WebBrowser .

O código de exemplo seguinte demonstra como chamar uma função de VBScript numa página Web que é carregada num controlo ActiveX WebBrowser . Este exemplo de código utiliza a propriedade IHTMLDocument.Script na biblioteca de objectos HTML da Microsoft para obter acesso ao objecto de script. O código de exemplo utiliza, em seguida, o método InvokeMember para chamar a função de VBScript.

Nota Substitua axWebBrowser1 no seguinte código com o nome da instância do controlo ActiveX WebBrowser que ocorre na aplicação.
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;
}
Pode chamar este método, passando o nome da função VBScript e os parâmetros. O código de exemplo seguinte demonstra como utilizar o anterior exemplo de código para chamar uma função de VBScript que tem um valor de parâmetro de 100.

Nota A função VBScript chama myVBScriptFunction .
String myFunction = "myVBScriptFunction";
Object[] myParameters = { 100 };
InvokeScript(myFunction, myParameters);

Referências

Para obter mais informações sobre o controlo ActiveX WebBrowser , visite o seguinte site da Web MSDN:
http://msdn2.microsoft.com/en-us/library/Aa752040.aspx

Propriedades

Artigo: 922275 - Última revisão: 22 de novembro de 2007 - Revisão: 1.8
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Palavras-chave: 
kbmt kbwindowsforms kbhowto kbinfo KB922275 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: 922275

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