VB6 -
Usando o
controle WebBrowser - 10 dicas Práticas
Neste artigo vou mostrar como usar o controle WebBrowser no VB6.
O controle webbrowser não é um dos controles que vêm por padrão na
caixa de controle.
Para poder usá-lo em seu projeto você terá que incluir o componente na ToolBox. Isso é
feito pressionando CTRL+T ou acionando o menu Project e a seguir
clicando em Components;
Será aberta a janela Components. Escolha o item Microsoft Internet Controls e clique em OK;
![]() |
Você deverá ver na ToolBox o controle WebBrowser adicionado e pronto para uso:
![]() |
Vou mostrar neste artigo como usar o controle para realizar as seguintes tarefas:
Abra o Visual Basic 6 como administrador, se estiver usando o Windows 7, e no menu File clique em New Project;
Selecione a opção StandardEXE e clique no botão OK;
1 - Navegando para um site
Inclua os seguintes controles no formulário form1.frm arrastando-os a partir da ToolBox:
![]() |
A seguir clique no botão Navegar e inclua o código abaixo no evento Click do botão de comando:
Private Sub cmdNavegar_Click() On Error GoTo trata_erro WebBrowser1.Navigate Trim(txtURL.Text) Exit Sub trata_erro: MsgBox Err.Description End Sub |
Execute o projeto e a seguir digite uma URL válida na caixa de texto e clique no botão Navegar para obter o resultado:
![]() |
A seguir vejamos as outras tarefas...
2- Abrindo um janela Pop-up do
navegador usando o formulário
No evento newWindow2 do WebBrowser inclua o seguinte código:
Private Sub WebBrowser1_NewWindow2(ppDisp As Object,
Cancel As Boolean) Dim frm As Form1 Set frm = New Form1 Set ppDisp = frm.WebBrowser1.Object frm.Show End Sub |
3 - Verificar se uma palavra/string é encontrada na página
Inclua um novo botão de comando (Name=cmdLocalizar e Text=Procurar) e um novo controle TextBox(Name=txtCriterio) na base do controle WebBrowser no formulário form1.frm conforme mostra a figura abaixo:
![]() |
A seguir inclua o seguinte código no evento Click do botão de comando:
Private Sub cmdLocalizar_Click() Dim strTexto As String strTexto = txtCriterio.Text If PaginaWebContem(strTexto) = True Then MsgBox "A página contém o texto " Else MsgBox "A página não contém esse texto" End If End Sub |
O código da rotina PaginaWebContem() que é chamada para verificar se o texto existe na página é mostrado a seguir:
Private Function PaginaWebContem(ByVal s As String) As Boolean Dim i As Long, EHTML For i = 1 To WebBrowser1.Document.All.length Set EHTML = WebBrowser1.Document.All.Item(i) If Not (EHTML Is Nothing) Then If InStr(1, EHTML.innerHTML, s, vbTextCompare) > 0 Then WebPageContains = True Exit Function End If End If Next i End Function |
Executando o projeto e informando um texto que existe na página na caixa de texto, ao clicar no botão Procurar iremos obter o resultado abaixo:
![]() |
4- Criando uma página ao iniciar
No evento Load do formulário inclua o código a seguir:
Private Sub Form_Load() WebBrowser1.Navigate "about:blank" criaPagina End Sub |
A rotina criaPagina irá criar manualmente uma página HTML exibindo no controle WebBrowser:
Private Sub criaPagina() Dim HTML As String '----------código HTML---------- HTML = "<HTML>" & _ "<TITLE>Pagina Carrega no evento Load</TITLE>" & _ "<BODY>" & _ "<FONT COLOR = BLUE>" & _ "Este página foi feita " & _ "<FONT SIZE = 5>" & _ "<B>" & _ "via código por Macoratti.net " & _ "</B>" & _ "</FONT SIZE>" & _ "</BR >" & _ "www.macoratti.net" & _ "</FONT>" & _ "</BODY>" & _ "</HTML>" '----------HTML fim --------------- WebBrowser1.Document.Write HTML End Sub |
O resultado pode ser visto na figura a seguir:
![]() |
5- Usando as funções padrão do controle WebBrowser
Inclua no formulário form1.frm um array de controles CommandButton, para isso inclua um controle no formulário e após selecionar o controle pressione CTRL+C e a seguir CTRL+V. Repita este procedimento até incluir 6 controles CommandButton no topo do formulário.
Será criado um array de controles CommandButton com índice de 0 a 5 todos com o nome Command1.
A seguir defina a propriedade Style de cada controle como 1-Graphical e defina a cor de fundo igual a amarela. A seguir defina a propriedade Text de cada um dos controles na seguinte ordem: Retornar, Avançar, Parar, Atualizar Home e Procurar conforme o leiaute abaixo:
![]() |
A seguir digite o seguinte código para o evento Click dos botões de comando Command1:
Private Sub Command1_Click(Index As Integer) On Error Resume Next Select Case Index Case 0 'botão Retornar WebBrowser1.GoBack Case 1 'Botão Avançar WebBrowser1.GoForward Case 2 WebBrowser1.Stop 'botão Parar Case 3 WebBrowser1.Refresh 'botão atualizar pagina Case 4 WebBrowser1.GoHome 'botão Go to home Case 5 WebBrowser1.GoSearch 'botão Search End Select End Sub |
6- Usando as funções avançadas do controle WebBrowser
Agora inclua no formulário form1.frm um array de controles CommandButton, para isso inclua um controle no formulário e após selecionar o controle pressione CTRL+C e a seguir CTRL+V. Repita este procedimento até incluir 4 controles CommandButton no topo do formulário.
Será criado um array de controles CommandButton com índice de 0 a 3 todos com o nome Command2.
A seguir defina a propriedade Style de cada controle como 1-Graphical e defina a cor de fundo igual a azul claro. A seguir defina a propriedade Text de cada um dos controles na seguinte ordem: Imprimir, Visualizar, Configurar e Propriedades conforme o leiaute abaixo:
![]() |
A seguir digite o seguinte código para o evento Click dos botões de comando Command2:
Private Sub Command2_Click(Index As Integer) On Error Resume Next Select Case Index Case 0 'botão Imprimir WebBrowser1.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT Case 1 'Botão Visualizar WebBrowser1.ExecWB OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT Case 2 'botão Configurar WebBrowser1.ExecWB OLECMDID_PAGESETUP, OLECMDEXECOPT_DODEFAULT Case 3 'botão propriedades WebBrowser1.ExecWB OLECMDID_PROPERTIES, OLECMDEXECOPT_DODEFAULT End Select End Sub |
7- Controlando o tamanho da fonte usada no Controle WebBrowser
Agora inclua no formulário form1.frm um array de controles CommandButton, para isso inclua um controle no formulário e após selecionar o controle pressione CTRL+C e a seguir CTRL+V. Repita este procedimento até incluir 5 controles CommandButton no topo do formulário.
Será criado um array de controles CommandButton com índice de 0 a 4 todos com o nome Command3. Inclua acima dos controles uma Label com Caption igual a "Tamanho da Fonte".
A seguir defina a propriedade Style de cada controle como 1-Graphical e defina a cor de fundo igual a laranja.
A seguir defina a propriedade Text de cada um dos controles na seguinte ordem: Muito Pequena,Pequena, Média, Grande e Muito Grande conforme o leiaute abaixo:
![]() |
A seguir digite o seguinte código para o evento Click dos botões de comando Command3:
Private Sub Command3_Click(Index As Integer) On Error Resume Next Select Case Index Case 0 'Muto pequena WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(0), vbNull Case 1 'pequena WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(1), vbNull Case 2 'Media WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(2), vbNull Case 3 'Grande WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(3), vbNull Case 4 'Muito Grande WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(4), vbNull End Select End Sub |
8- Desabilitando comandos do controle WebBrowser
Podemos desabilitar comandos do controle WebBrowser usando o evento CommandStateChange.
No exemplo usado vamos desabilitar os comandos Forward e Return. Para isso inclua o seguinte código no evento CommandStateChange:
Private Sub WebBrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean) Select Case Command Case 1 'Avançar Command1(0).Enabled = Enable Case 2 'Retornar Command1(1).Enabled = Enable End Select End Sub |
9- Obtendo todos os links das páginas visitadas
Este exemplo mostrar como obter uma lista dos links em uma página visitada.
Você terá que incluir no seu projeto o componente Microsoft HTML Object Library.
Para isso clique no menu Project -> Components e selecione o componente da lista da janela Components:
![]() |
A seguir inclua o seguinte código no evento DownloadComplete do componente WebBrowser:
Private Sub WebBrowser1_DownloadComplete() On Error Resume Next 'voce precisa adicionar o "Microsoft HTML Object Library"!!!!!!!!! Dim HTMLdoc As HTMLDocument Dim HTMLlinks As HTMLAnchorElement Dim STRtxt As String ' Lista os links links. On Error Resume Next Set HTMLdoc = WebBrowser1.Document For Each HTMLlinks In HTMLdoc.links STRtxt = STRtxt & HTMLlinks.href & vbCrLf Next HTMLlinks 'Text1.Text = STRtxt Open "C:\dados\linksLog.txt" For Append As #1 Print #1, STRtxt Close #1 End Sub
|
Observe que estamos gerando um arquivo texto chamado linksLog.txt na pasta c:\dados que no seu caso deverá ser alterada. Note que podemos exibir os links em uma caixa de texto conforme o código que esta comentado.
10- Usando o componente ProgressBar com o WebBrowser
Para suar o componente ProgressBar com o WebBrowser primeiro temos que incluir o componente Microsoft Windows Commons Controls 6.0 no projeto.
No menu Project -> Components selecione o componente na janela Components;
![]() |
A seguir a partir da ToolBox selecione e arraste o componente ProgressBar para o formulário form1.frm conforme mostra a figura abaixo:
![]() |
Agora vamos incluir as linhas de código destacadas em azul no evento Load do formulário form1:
Private Sub Form_Load() WebBrowser1.Navigate "about:blank" 'criaPagina ProgressBar1.Appearance = ccFlat ProgressBar1.scrolling = ccScrollingSmooth End Sub |
Agora defina o código a seguir no evento ProgressChange do controle WebBrowser:
Private Sub WebBrowser1_ProgressChange(ByVal Progresso As Long, ByVal ProgressoMax As Long) On Error Resume Next If Progresso = -1 Then ProgressBar1.Value = 100 Me.Caption = "100%" If Progresso > 0 And ProgressoMax > 0 Then ProgressBar1.Value = Progresso * 100 / ProgressoMax Me.Caption = Int(Progresso * 100 / ProgressoMax) & "%" End If Exit Sub End Sub |
Execute o projeto e veja o resultado:
![]() |
Simples e prático como só o VB sabe fazer...
Pegue o projeto completo aqui:
WebBrowserVB6.zip
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
|
1Pe 3:1
Semelhantemente vós, mulheres, sede submissas a vossos maridos; para que também, se alguns deles não obedecem à palavra, sejam ganhos sem palavra pelo procedimento de suas mulheres,1Pe 3:2
considerando a vossa vida casta, em temor.1Pe 3:3
O vosso adorno não seja o enfeite exterior, como as tranças dos cabelos, o uso de jóias de ouro, ou o luxo dos vestidos,1Pe 3:4
mas seja o do íntimo do coração, no incorruptível traje de um espírito manso e tranqüilo, que és, para que permaneçam as coisas1Pe 3:5
Porque assim se adornavam antigamente também as santas mulheres que esperavam em Deus, e estavam submissas a seus maridos;1Pe 3:6
como Sara obedecia a Abraão, chamando-lhe senhor; da qual vós sois filhas, se fazeis o bem e não temeis nenhum espanto.
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Navegando na WEB e enviando e-mails com o VB - Macoratti.net
Criando um Editor HTML com o controle WebBrowser - Macoratti.net