ATENÇÃO NOVOS USUÁRIOS

Se registrou recentemente? Seu cadastro será avaliado e mendiante aprovação, a conta será ativada e você poderá usufruir do fórum. O tempo de avaliação gira em torno de 24 a 48 horas.

Esqueceu sua senha?

Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

Função para conectar a web por form

A Web está aí, não há como negar. Ela é onipresente em praticamente toda operação eletrônica realizada nos dias de hoje. Como não podia ser diferente, o Excel, ferramenta máxima para analistas e profissionais das mais diversas áreas do mercado precisa estar alinhado com esta necesssidade. E ele está! Neste forum, o debate é focado em expor dúvidas, sugestões, modelos de código e exemplos de uso do Excel na Integração com tecnologias Web.
silvagno
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Sáb Jan 28, 2017 11:50 pm

Função para conectar a web por form

Mensagem por silvagno » Dom Jan 29, 2017 12:07 am

Boa noite,
Fiz um botão para chamar um form onde esse deve ser preenchido com usuário e senha e ao clicar em entrar deve fazer login em uma determinada web.

Gostaria da ajuda de vocês.

Quais a função que devo colocar no botão entrar para que esse abra uma web e faça login automático?

Fiz um teste com o código de Tomás que encontrei e funciona muito bem, o único inconveniente que encontrei é que abre duas input,uma para colocar o usuário e a outra para a senha.

Código: Selecionar todos

Sub x()
    Dim ie As InternetExplorer
    Dim C
    Dim ULogin As Boolean, ieForm
    Dim MyPass As String, MyLogin As String
redo:
    MyLogin = Application.InputBox("Por Favor entre com o Login", "Forum Tomás Vásquez", Default:="login", Type:=2)
    MyPass = Application.InputBox("Por favor entre com a senha", "Forum Tomás Vásquez", Default:="Password", Type:=2)
    If MyLogin = "" Or MyPass = "" Then GoTo redo
    Set ie = New InternetExplorer
    ie.Visible = True
    ie.Navigate "http://www.tomasvasquez.com.br/forum/ucp.php?mode=login"
 
    Do Until ie.ReadyState = READYSTATE_COMPLETE
    Loop
 
    ie.Document.all("username").innerText = MyLogin
    ie.Document.all("password").innerText = MyPass
    'obtém o forma a qual o controle de login pertence para submetê-lo
    ie.Document.all("username").form.all("login").Click
 
    If ULogin = False Then MsgBox "Usuário logado"
    Set ie = Nothing
End Sub

Sub Referencia()
    Dim ObRef
    On Error Resume Next
    ' Adiciona Controles da Net
    ThisWorkbook.VBProject.References.AddFromGuid "{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}", 1, 1
End Sub

essa é a imagem do meu projeto.

Imagem
Desde já agradeço.



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1122
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Betim - MG
Contato:

Re: Função para conectar a web por form

Mensagem por Mikel Silveira Fraga » Ter Fev 07, 2017 8:29 pm

Silvagno, boa noite e seja bem vindo ao fórum.

Bem, com base na imagem do Userform, vamos supor que cada controle leva os nomes abaixo:
- Caixa de Texto do Usuário: txtUser
- Caixa de Texto da Senha: txtPass
- Botão de Comando Entrar: cmdLogin

Considerando esses nomes e o código postado abaixo, faça as seguintes alterações:

- Chamada do procedimento:
- Onde se lê:

Código: Selecionar todos

Sub x()
- Substituir por:

Código: Selecionar todos

Sub cmdLogin_Click()
- Atribuir Usuário para variável "MyLogin":
- Onde se lê:

Código: Selecionar todos

MyLogin = Application.InputBox("Por Favor entre com o Login", "Forum Tomás Vásquez", Default:="login", Type:=2)
- Substituir por:

Código: Selecionar todos

MyLogin = txtUser.Value
- Atribuir Usuário para variável "MyPass":
- Onde se lê:

Código: Selecionar todos

MyPass = Application.InputBox("Por favor entre com a senha", "Forum Tomás Vásquez", Default:="Password", Type:=2)
- Substituir por:

Código: Selecionar todos

MyPass = txtPass.Value
Com essas alterações realizadas e com a rotina sendo inserida na área de código do Userform, a função passará a ser aberta a partir dos dados inseridos nos campos.

Dúvidas, a disposição.


Gostou da dica? Clique no JOIA no topo da mensagem.
Esclareceu suas dúvidas? Acrescente ao título do tópico a expressão: [RESOLVIDO].
Orientações sobre o fórum, acesse aqui.

Mikel Silveira Fraga
E-mail: mikel-sf@hotmail.com | Linked In

Responder