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